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); }
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]; }