コード例 #1
0
ファイル: AIPauseAct.cs プロジェクト: howelllucas/Project
 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);
     }
 }
コード例 #2
0
ファイル: AIPauseAct.cs プロジェクト: howelllucas/Project
 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();
 }