Esempio n. 1
0
    private void OnTriggerEnter2D(Collider2D otherCollider)
    {
        ProjectileController projectile = null;
        int destructionLevel            = CONSTRUCTION_LEVEL_INVALID;

        //Debug.Log("Debug : ObstacleController : on trigger enter.");
        if (otherCollider.gameObject != null)
        {
            projectile = otherCollider.gameObject.GetComponent <ProjectileController>();
            if (projectile != null)
            {
                destructionLevel = projectile.GetDestructionLevel();
                if ((destructionLevel != CONSTRUCTION_LEVEL_INVALID) && (destructionLevel >= constructionLevel))
                {
                    /*halmeida - in this case, the projectile may affect the obstacle.*/
                    if (projectile.GetEffectCode() == ProjectileController.EFFECT_CODE_HP_DAMAGE)
                    {
                        DamageObstacle(projectile.GetEffectIntensity(), otherCollider.gameObject);
                    }
                    else if (projectile.GetEffectCode() == ProjectileController.EFFECT_CODE_HP_RECOVERY)
                    {
                        DamageObstacle(projectile.GetEffectIntensity() * -1f, otherCollider.gameObject);
                    }
                }
                projectile.Deactivate();
            }
        }
    }