Source code for metrics.plugins.bases_created

from metrics.sc2metric import Sc2MetricAnalyzer
from metrics.metric_containers import BaseCount
from metrics.util import convert_to_realtime_r

[docs]class BasesCreatedTracker(object): """ Builds ``player.metrics.bases_created`` array made of :class:`~metrics.metric_containers.BaseCount`. The ``metrics`` being of the type :class:`~metrics.sc2metric.Sc2MetricAnalyzer`. The bases are tracked every time a *Nexus*, *CommandCenter*, or *Hatchery* is completed. """ name = 'BasesCreatedTracker' def __init__(self): self._base_names = [ 'Nexus', 'CommandCenter', 'Hatchery' ] def handleInitGame(self,event,replay): for player in replay.players: player.metrics = Sc2MetricAnalyzer() def handleUnitBornEvent(self,event,replay): if event.unit.is_building and (event.unit.name in self._base_names): replay.player[event.unit.owner.pid].metrics.bases_created.append( BaseCount(convert_to_realtime_r(replay, event.second))) def handleUnitDoneEvent(self,event,replay): if event.unit.is_building and (event.unit.name in self._base_names): replay.player[event.unit.owner.pid].metrics.bases_created.append( BaseCount(convert_to_realtime_r(replay, event.second)))