示例#1
0
    public void AttackEnemy(GameObject oprt, GameObject from, GameObject enemy, float atk, bool isSplash = false)
    {
        GameObject          bullet = Instantiate(m_bullet, from.transform) as GameObject;
        TurnBaseBulletLogic logic  = bullet.GetComponent <TurnBaseBulletLogic>();

        logic.m_enemy    = oprt.GetComponent <TurnBaseEnemyLogic>();
        logic.m_target   = enemy.transform;
        logic.m_atk      = atk;
        logic.m_isSplash = isSplash;
    }
示例#2
0
 void HitByBullet(TurnBaseBulletLogic logic)
 {
     logic.Hit();
     m_health -= logic.m_atk;
     if (m_health <= 0)
     {
         logic.DestroyEnemy(gameObject);
         if (m_TurnBaseManager)
         {
             m_TurnBaseManager.GetComponent <TurnBaseManager>().RemoveEnemy(gameObject);
         }
         TurnBaseBlockLogic blockLogic = transform.GetChild(0).gameObject.GetComponent <TurnBaseBlockLogic>();
         for (int i = 0; i < blockLogic.m_blocked.Count; i++)
         {
             blockLogic.m_blocked[i].GetComponent <UnityEngine.AI.NavMeshAgent>().isStopped = false;
         }
         Destroy(gameObject);
     }
     // if(logic.m_operator.m_buff == Buff.None)
     // {
     //     m_health -= logic.m_atk;
     // }
 }
示例#3
0
 void HitByBullet(TurnBaseBulletLogic logic)
 {
     logic.Hit();
     m_health -= logic.m_atk;
     if (m_health <= 0)
     {
         logic.DestroyEnemy(gameObject);
         if (m_TurnBaseManager)
         {
             m_TurnBaseManager.GetComponent <TurnBaseManager>().RemoveEnemy(gameObject);
         }
         Destroy(gameObject);
     }
     // if(logic.m_operator.m_buff == Buff.None)
     // {
     //     m_health -= logic.m_atk;
     // }
     if (logic.m_operator && logic.m_operator.m_buff == Buff.Decelerate)
     {
         m_NavMeshAgent.speed = logic.m_operator.m_debuff * m_Speed;
         if (logic.m_operator)
         {
             m_currentFreq = logic.m_operator.m_debuff * m_freq;
             m_debuffTimer = logic.m_operator.m_debuffTime;
         }
     }
     else if (logic.m_enemy && logic.m_enemy.m_buff == Buff.Decelerate)
     {
         m_NavMeshAgent.speed = logic.m_enemy.m_debuff * m_Speed;
         if (logic.m_enemy)
         {
             m_currentFreq = logic.m_enemy.m_debuff * m_freq;
             m_debuffTimer = logic.m_enemy.m_debuffTime;
         }
     }
 }