void Start() { enemies = new List <Enemy>(); // not sure spawners = new List <Spawner>(FindObjectsOfType <Spawner>()); process = new ProcessState(); spawn = new SpawnState(spawners); arrange = new ArrangeState(FindObjectOfType <GridManager>()); fire = new FireState(); if (null == processButton) { Debug.Log("no process button"); } else { process.AddReadyButton(processButton); } process.nextState = spawn; spawn.nextState = arrange; arrange.nextState = fire; fire.nextState = process; currentState = process; }