// Use this for initialization void Start() { m_attackTrigger = GetComponent <AttackTrigger>(); m_anticipationParticle.Stop(); m_attackSoundInstance = FMODUnity.RuntimeManager.CreateInstance(m_attackSound); //SwitchToState(ManHoleState.Wait); }
/** * 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 !"); } }
private void OnSpawnedEnemyKilled(AttackTrigger dmgr, Damageable dmgbl) { m_waveEnemys.Remove(dmgbl.gameObject); m_enemySpawnedAlive--; if (m_enemySpawnedAlive == 0) { m_waveEnemys.Clear(); OnWaveKilled.Invoke(); } }
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; }
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; } }
public void OnDie(AttackTrigger trigger, Damageable damageable) { m_shadow.SetActive(false); }
public void TakeDamage(AttackTrigger trigger, Damageable damageable) { m_animator.SetBool("Hit", true); }