void Start() { nodeController.InitBoard(); nodeController.CalculateResultWithoutAnim(); statesDic = new Dictionary <GS, AGameState>() { { GS.START, new StartState(this) }, { GS.END, new EndState(this) }, { GS.WAIT, new WaitState(this) }, { GS.ACTION, new ActionState(this) }, { GS.ANIMATE, new AnimateState(this) }, { GS.ENEMY, new EnemyState(enemy, this) } }; skills.ForEach(skill => skill.Init(this)); NewState(GS.START); }