Exemple #1
0
 // Use this for initialization
 void Start()
 {
     m_attackTrigger = GetComponent <AttackTrigger>();
     m_anticipationParticle.Stop();
     m_attackSoundInstance = FMODUnity.RuntimeManager.CreateInstance(m_attackSound);
     //SwitchToState(ManHoleState.Wait);
 }
Exemple #2
0
        /**
         *  parameter {Damager} damager : damager class that inflict damage
         *  parameter {int} amout : amout of damage
         *  return {bool}
         *  Inflict damage to the owner class.
         */
        public bool TakeDamage(AttackTrigger trigger, float amout, int id)
        {
            if (!IsAlive() || m_isInvincible || id == m_lastID)
            {
                return(false);
            }

            m_currentLife -= amout;
            m_lastDamager  = trigger;
            OnTakeDamage.Invoke(trigger, this);

            id = m_lastID;
            m_currentTimerLastID = m_timerLastID;

            if (!IsAlive())
            {
                Die();
                return(true);
            }
            else if (m_animator)
            {
                m_animator.SetTrigger("Hit");
            }

            EnableInvincibility();

            return(true);
        }
 private void Awake()
 {
     m_trigger = GetComponent <AttackTrigger>();
     if (!m_trigger)
     {
         Debug.Log(gameObject + "'s FXHandler has no trigger !");
     }
 }
Exemple #4
0
 private void OnSpawnedEnemyKilled(AttackTrigger dmgr, Damageable dmgbl)
 {
     m_waveEnemys.Remove(dmgbl.gameObject);
     m_enemySpawnedAlive--;
     if (m_enemySpawnedAlive == 0)
     {
         m_waveEnemys.Clear();
         OnWaveKilled.Invoke();
     }
 }
Exemple #5
0
        public void OnDamageTaken(AttackTrigger trigger, Damageable damageable)
        {
            if (m_recoveryTimer > 0f)
            {
                m_sounds.LaunchTakeDamageSound();
                m_recoveryLife = m_damageable.Life + trigger.Damage;
                OnRecoveryLifeUpdate.Invoke(damageable, m_recoveryLife);
            }

            m_recoveryTimer = m_timeBeforeRecoveryDrop;
        }
Exemple #6
0
        protected void ManageFXObject(GameObject opponent)
        {
            if (!m_currData.gaoFX)
            {
                return;
            }

            GameObject FX = GameObject.Instantiate(m_currData.gaoFX);

            FX.transform.position = transform.position; //opponent.transform.position;
            FX.transform.rotation = transform.rotation;

            AttackTrigger FxTrigger = FX.GetComponent <AttackTrigger>();

            if (FxTrigger)
            {
                FxTrigger.Owner = m_owner;
            }
        }
Exemple #7
0
 public void OnDie(AttackTrigger trigger, Damageable damageable)
 {
     m_shadow.SetActive(false);
 }
Exemple #8
0
 public void TakeDamage(AttackTrigger trigger, Damageable damageable)
 {
     m_animator.SetBool("Hit", true);
 }