// 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(); } }
// Update is called once per frame void Update() { m_FSM.DoState(); if (Input.GetMouseButtonDown(0)) { m_FSM.PerformGlobalTransition(eFSMTransition.Go_Dead); } }
// 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(); } }