//прерывание и смена состояния public virtual void changeStrategy(StrategysType strategyType) { if (_allStrategy.ContainsKey(strategyType)) { _currentStrategy = _allStrategy[strategyType]; _currentStrategy.onStartState(_target); _target = _currentStrategy.target; } }
public void addState(AbstractStrategy strategy, bool mainState = false) { if (mainState == null) mainState = false; _allStrategy.Add (strategy.getStrategyType(), strategy); if (mainState) { _currentStrategy = strategy; _currentStrategy.onStartState(_target); _target = _currentStrategy.target; } }
//прерывание и смена состояния public virtual void changeStrategy(AbstractStrategy startegy) { _currentStrategy = startegy; _currentStrategy.onStartState(_target); _target = _currentStrategy.target; }