コード例 #1
0
            public override void OnExecute()
            {
                GameTurnManager turnMng        = GameTurnManager.GetInstance();
                PawnActions     actions        = turnMng.GetCurrentPawn().GetComponent <PawnActions>();
                ActionRunner    selectedAction = actions.m_DefaultAttack;

                //Set target
                int        id  = Random.Range(0, turnMng.m_PlayerPawns.Count);
                GameObject obj = turnMng.m_PlayerPawns[id];

                selectedAction.m_Target          = obj;
                selectedAction.ActionDescription = turnMng.GetCurrentPawn().GetComponent <PawnBehavior>().m_AttackDescription;

                //Set the action to run and go to next state
                m_Behavior.SetSelectedAction(selectedAction);
                m_Behavior.ActionReady();
                m_Runner.SetCurrentState((int)RunSingleTurnState.RunAction, "AI has selected action");
            }
コード例 #2
0
            public override void OnEnter()
            {
                GameTurnManager turnMng = GameTurnManager.GetInstance();

                m_Behavior.m_UITurnHistory.UpdateTurnHistory(turnMng);
                GameObject obj = turnMng.GetCurrentPawn();

                PawnStatistics stat = obj.GetComponent <PawnStatistics>();

                if (stat.m_IsControlledByPlayer)
                {
                    m_Runner.SetCurrentState((int)RunSingleTurnState.PlayerTurn, "Player turn");
                }
                else
                {
                    m_Runner.SetCurrentState((int)RunSingleTurnState.AITurn, "Enemy turn");
                }
            }