示例#1
0
    // Update is called once per frame
    void Update()
    {
        if (m_bDead == false)
        {
            Timer += Time.deltaTime;

            if (Timer > 2.0f)
            {
                MobInfo.AIFunction.SearchPlayer(m_AIData);
                Timer = 0.0f;
                return;
            }
            if (m_AIData.m_Player == null || m_AIData.m_Player.IsDead)
            {
                MobInfo.AIFunction.SearchPlayer(m_AIData);
            }
            if (MobInfo.AIFunction.CheckAllPlayersLife() == false)
            {
                if (m_CurrentState != eFSMStateID.WanderIdleStateID && m_CurrentState != eFSMStateID.WanderStateID)
                {
                    m_FSM.PerformGlobalTransition(eFSMTransition.Go_WanderIdle);
                }
            }
        }

        m_FSM.DoState();

        m_CurrentState = m_AIData.m_FSMSystem.CurrentStateID;
        if (Input.GetKeyDown(KeyCode.U))
        {
            Death();
        }
    }
示例#2
0
    // Update is called once per frame
    void Update()
    {
        m_FSM.DoState();

        if (Input.GetMouseButtonDown(0))
        {
            m_FSM.PerformGlobalTransition(eFSMTransition.Go_Dead);
        }
    }
示例#3
0
    // Update is called once per frame
    void Update()
    {
        if (m_bDead == false)
        {
            MobInfo.AIFunction.SearchPlayer(m_AIData);
            m_CurrentState = m_AIData.m_FSMSystem.CurrentStateID;

            if (m_AIData.m_Player == null || m_AIData.m_Player.IsDead)
            {
                MobInfo.AIFunction.SearchPlayer(m_AIData);
            }
            if (m_CurrentState != eFSMStateID.WanderIdleStateID && m_CurrentState != eFSMStateID.WanderStateID)
            {
                if (m_CurrentState != eFSMStateID.NoPlayerWanderIdleStateID && m_CurrentState != eFSMStateID.NoPlayerWanderStateID)
                {
                    if (MobInfo.AIFunction.CheckAllPlayersLife() == false)
                    {
                        m_FSM.PerformGlobalTransition(eFSMTransition.Go_NoPlayerWanderIdle);
                    }
                }
            }
        }


        if (m_bGoIdle)
        {
            m_WanderIdleState.ToIdle(m_AIData);
            m_bGoIdle = false;
        }
        else
        {
            m_FSM.DoState();
        }

        if (Input.GetKeyDown(KeyCode.U))
        {
            Death();
        }
    }