Esempio n. 1
0
    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();
    }
Esempio n. 4
0
    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);
 }
Esempio n. 6
0
 protected virtual void OnInitialize(Gameboard gameboard, StateEventsController gameboardEvents)
 {
 }