AbstractState CreateStartState()
    {
        AbstractState ret = new State_Alive(gameInfo);

        switch (GlobalSettingsManager.firstState)
        {
        case STATE.NONE:
            Debug.LogError(new ArgumentException("There was no start state set in the GlobalSettingsManager. Check Controller -> GameState Object in Scene", "startState"));
            ret = null;
            break;

        case STATE.NATURE:
            break;

        case STATE.DECAY_START:
            ret = new State_StartDecay(gameInfo);
            break;

        case STATE.DECAY_MAIN:
            ret = new State_MainDecay(gameInfo);
            break;

        case STATE.TRASH_RISING:
            ret = new State_TrashRising(gameInfo);
            break;

        case STATE.FINAL:
            ret = new State_DeadNature(gameInfo);
            break;
        }
        return(ret);
    }
Пример #2
0
 public State_Alive(GameInfo info) : base(info)
 {
     NextState            = new State_StartDecay(info);
     Name                 = STATE.NATURE;
     SecondsToStateChange = GlobalSettingsManager.GetStateTime(this.Name);
     spawnTimings         = new float[] { 8f, 5f };
     TimingPointer        = 0;
     SecondsToSpawnTrash  = spawnTimings[TimingPointer];
 }