private void FreezeDamage(Transform target) { Movement movement = target.GetComponent <Movement>(); if (movement != null) { movement.SlowDownImpact(m_SlowDownSpeed, m_SlowDownTime); } HealthObserverable healthObserverable = target.GetComponent <HealthObserverable>(); if (healthObserverable != null) { healthObserverable.TakeDamage(m_Damage); } }
private void AreaDamage(Vector3 position) { if (m_ExposionScriptablePool != null) { GameObject exposion = m_ExposionScriptablePool.Rent(false); if (exposion != null) { exposion.transform.position = position; exposion.SetActive(true); } } Collider[] colliders = Physics.OverlapSphere(transform.position, m_DamageRadius); foreach (Collider nearbyObject in colliders) { HealthObserverable healthObserverable = nearbyObject.gameObject.GetComponent <HealthObserverable>(); if (healthObserverable != null) { healthObserverable.TakeDamage(m_Damage); } } }
private void Awake() { if (m_MapScriptable == null) { throw new MissingReferenceException("Missing reference of MapScriptable object."); } if (m_EnemyTypes == null) { throw new MissingReferenceException("Missing reference of EnemyTypes Scriptable Object."); } if (m_EnemyTypes != null) { m_Speed = m_EnemyTypes.Speed; } m_HealthObserverable = GetComponent <HealthObserverable>(); m_Animator = GetComponent <Animator>(); m_Pivot = Mathf.Abs(transform.GetChild(1).transform.position.y); }
private void Awake() { m_HealthObserverable = GetComponent <HealthObserverable>(); }