public TalismanBoardController(ITalismanBoard board, IBoardView view) : base(board, view) { for (int i = 0; i < Board.SectionsCount; i++) { TalismanBoardSection section = Board[i]; for (int j = 0; j < section.CellsCount; j++) { foreach (ITalismanAction action in section[i].Actions) { action.OnApplied += () => ActionEnded?.Invoke(); } } } }
void InitIA() { Walk walk = new Walk(this.gameObject); TestItem testItem = new TestItem(this.gameObject); Analyze analyze = new Analyze(this.gameObject); p_myStateMachine = new StateMachine(this.gameObject, walk); //Walk Transitions List <Transitions> transitions = new List <Transitions>(); List <Conditions> conditions = new List <Conditions>(); ActionEnded condition = new ActionEnded(this.gameObject); conditions.Add(condition); Transitions transition = new Transitions(analyze, p_myStateMachine, conditions); transitions.Add(transition); walk.setTransitions(transitions); //Analyze Transitions transitions = new List <Transitions>(); conditions = new List <Conditions>(); SomethingBehind condition2 = new SomethingBehind(this.gameObject); conditions.Add(condition2); transition = new Transitions(testItem, p_myStateMachine, conditions); transitions.Add(transition); conditions = new List <Conditions>(); condition = new ActionEnded(this.gameObject); conditions.Add(condition); transition = new Transitions(walk, p_myStateMachine, conditions); transitions.Add(transition); analyze.setTransitions(transitions); //TestItem Transitions transitions = new List <Transitions>(); conditions = new List <Conditions>(); condition = new ActionEnded(this.gameObject); conditions.Add(condition); transition = new Transitions(walk, p_myStateMachine, conditions); transitions.Add(transition); testItem.setTransitions(transitions); }