Exemple #1
0
    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);
        }
    }
Exemple #2
0
    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);
            }
        }
    }
Exemple #3
0
    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>();
 }