示例#1
0
 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();
             }
         }
     }
 }
示例#2
0
    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);
    }