private void Update() { if (m_StartAct && !TriggerStart) { foreach (AIPauseAct aIPauseAct in m_AiPauseAct) { if (aIPauseAct == null || aIPauseAct.TriggerStart) { DisableCmp(); return; } } m_CurTime += BaseScene.GetDtTime(); if (!m_InWaitState) { if (m_CurTime >= m_CurIdleTime) { m_Monster.PlayAnim(GameConstVal.Wait); m_InWaitState = true; m_CurTime = 0; } } else { if (m_CurTime >= m_WaitTime) { m_CurIdleTime = Random.Range(3, 5); m_Monster.PlayAnim(GameConstVal.Idle); m_InWaitState = false; m_CurTime = 0; } } m_Monster.SetSpeed(Vector2.zero); } }
public void Init(Monster monster) { m_Collider2D.enabled = true; m_Rigidbody2D.simulated = true; m_CurIdleTime = Random.Range(3, 5); m_Monster = monster; m_Monster.PlayAnim(GameConstVal.Idle); m_Monster.SetActEnable(false); gameObject.SetActive(true); m_StartAct = true; TriggerStart = false; m_InWaitState = false; m_CurTime = 0; gameObject.layer = GameConstVal.MonsterLayer; m_AiPauseAct.Clear(); }