public void Initialize(Gameboard gameboard, StateEventsController gameboardEvents) { name = StateID.ToString(); Gameboard = gameboard; Events = gameboardEvents; OnInitialize(gameboard, gameboardEvents); }
private TState AddState <TState>(Gameboard gameboard, StateEventsController gameboardEvents) where TState : StateBase { var state = new GameObject().AddComponent <TState>(); state.transform.SetParent(transform); state.Exited += OnStateExited; state.Initialize(gameboard, gameboardEvents); _states.Add(state.StateID, state); return(state); }
public void Initialize(Gameboard gameboard, StateEventsController eventsController) { AddState <StateSetupPhase>(gameboard, eventsController); AddState <StateBeginTurn>(gameboard, eventsController); AddState <StatePlayerMovePhase>(gameboard, eventsController); AddState <StateTriggerSpawnPoints>(gameboard, eventsController); AddState <StateEnemyThinkPhase>(gameboard, eventsController); AddState <StateEnemyMovePhase>(gameboard, eventsController); AddState <StateGameOver>(gameboard, eventsController); SetToFirstTurnLoop(); }
public void Initialize(Gameboard gameboard) { _gameboard = gameboard; _eventsController = gameObject.AddComponent <StateEventsController>(); _stateHandlers = new List <IStateHandler>(); _gameboard.World.UnitAdded += RegisterUnit; _gameboard.World.Units.ToList().ForEach(x => RegisterUnit(x)); _gameboard.World.Tiles.ToList().ForEach(stateHandler => _stateHandlers.Add(stateHandler.Value)); _sequencer = GameObject.Instantiate(new GameObject("Sequencer"), transform).AddComponent <StateSequencer>(); _sequencer.Initialize(_gameboard, _eventsController); _sequencer.States.Values.ToList().ForEach(state => { state.StateRestored += OnRestoreState; state.StateSaved += OnSaveState; state.StateCommitted += OnCommitState; }); _sequencer.Begin(); }
protected override void OnInitialize(Gameboard gameboard, StateEventsController gameboardEvents) { _unitActionHandler = gameObject.AddComponent <UnitActionHandler>(); _unitActionHandler.Initialize(gameboardEvents); }
protected virtual void OnInitialize(Gameboard gameboard, StateEventsController gameboardEvents) { }