Esempio n. 1
0
    public void OnCollisionCenter(Enemy enemy)
    {
        if (hero.state == Hero.states.DEAD)
        {
            return;
        }

        if (enemy.laneId == Game.Instance.gameManager.characterManager.lanes.laneActiveID)
        {
            if (enemy.GetComponent <Coins>())
            {
                Coins coins = enemy.GetComponent <Coins>();

                int money = coins.money;
                Events.OnCombo(enemy.transform.position.x);
                Events.OnScoreAdd(25);
                Events.OnAddCoins(enemy.laneId, enemy.transform.localPosition.x, 1);
                coins.Activate();
            }
            else if (powerupManager.type == PowerupManager.types.MOTO)
            {
                enemy.Explote();
                Events.OnSoundFX("Explosion");
            }
            else if (enemy.GetComponent <Resorte>())
            {
                Resorte asset = enemy.GetComponent <Resorte>();
                if (powerupManager.type == PowerupManager.types.CHUMBO)
                {
                    Jump("pungaJumpMegachumbo");
                }
                else
                {
                    Jump("pungaJump2");
                }
                asset.Activate();
            }
            else if (enemy.GetComponent <PowerUp>())
            {
                enemy.GetComponent <PowerUp>().Activate();
            }
            else if (enemy.GetComponent <PowerDown>())
            {
                enemy.GetComponent <PowerDown>().Activate();
            }
            else if (hero.state == Hero.states.DASH && enemy.GetComponent <Victim>())
            {
                int rand = Random.Range(1, 3);
                Events.OnSoundFX("Dashed" + rand);
                enemy.Explote();
            }
            else if (hero.state == Hero.states.DASH && enemy.GetComponent <Runner>())
            {
                int rand = Random.Range(1, 3);
                Events.OnSoundFX("Dashed" + rand);
                enemy.Crashed();
                if (Data.Instance.specialItems.type != SpecialItemsManager.types.TRANSPORT)
                {
                    Events.OnSetSpecialItem(101, true);
                    Events.OnChangeSpeed(1.4f, true);
                }
            }
            else if (powerupManager.type == PowerupManager.types.GIL || powerupManager.type == PowerupManager.types.CHUMBO)
            {
                //Debug.Log("con powerup choco: " + powerupManager.type);
                Events.OnHeroPowerUpOff();
            }
            else if (Data.Instance.specialItems.type == SpecialItemsManager.types.CASCO || Data.Instance.specialItems.type == SpecialItemsManager.types.TRANSPORT)
            {
                Events.OnSpecialItemOff();
                Events.OnSetSpecialItem(Data.Instance.specialItems.id, false);
            }
            else
            {
                Events.OnSoundFX("Crash");
                enemy.Crashed();
                Die();
            }
        }
        else
        {
            if (enemy.GetComponent <Victim>())
            {
                Events.OnCombo(enemy.transform.localPosition.x);
                enemy.GetComponent <Victim>().Steal();
            }
        }
    }