Ejemplo n.º 1
0
    public void Update(float fTimeDelta)
    {
        if (ProcAI == false)
        {
            return;
        }

        TimeElapsed += fTimeDelta;

        switch (CurAI)
        {
        case eAI_Proc.AI_Normal:
        {
            // 느낌 주기 위해서 3초 이후 엑션을 실행한다.
            if (TimeElapsed >= 3)
            {
                // 우리팀 다 죽었을 경우 AI 안돈다.
                var Owner = Global.SceneMgr.CurrentScene as BattleScene;
                if (Owner != null)
                {
                    if (BattleHeroManager.Instance.IsMyTeamAllDie())
                    {
                        CurAI       = eAI_Proc.AI_Action;
                        TimeElapsed = 0;
                        return;
                    }

                    // 살아있는 상대방 적 1인 랜덤으로 선택 해줌.
                    int targetHeroNo = BattleHeroManager.Instance.GetRandomHeroTeam();
                    Owner.ActiveTargetHeroNo = targetHeroNo;
                    BattleHeroManager.Instance.SetHeroOutline(targetHeroNo);

                    var battleUI = Global.UIMgr.GetUI <UIBattle>(UIManager.eUIType.eUI_Battle);
                    if (battleUI != null)
                    {
                        battleUI.SetProfileUI(targetHeroNo, false);
                        battleUI.ActiveBattleProfile(true, true);

                        // 한가지 공격 타입을 설정
                        SetRandomActionType(Owner.ActiveTurnHeroNo);

                        // 상대방 턴일 경우에는 엑션 유형 선택은 파란색 ui
                        battleUI.ActiveSelActionType(true, false);
                        battleUI.SetTurnTimer(Define.SELECT_ACTIONTYPE_LIMITTIME, ETurnTimeType.TURNTIME_SEL_ACTIONTYPE);
                    }

                    CurAI       = eAI_Proc.AI_Action;
                    TimeElapsed = 0;
                }
            }
        }
        break;

        case eAI_Proc.AI_Action:
        {
        }
        break;
        }
    }
Ejemplo n.º 2
0
 public void ProceserAI()
 {
     ProcAI      = true;
     TimeElapsed = 0;
     CurAI       = eAI_Proc.AI_Normal;
 }
Ejemplo n.º 3
0
 public void Initialize()
 {
     ProcAI      = false;
     TimeElapsed = 0;
     CurAI       = eAI_Proc.AI_Normal;
 }