예제 #1
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.layer == LayerMask.NameToLayer("Water"))
        {
            GameObject instance = Instantiate(droplets);
            instance.transform.position = transform.position;
            Destroy(instance, 3f);
        }

        if (animal == Animal.DRAGON)
        {
            return;
        }

        if (other.gameObject.layer == LayerMask.NameToLayer("Coin"))
        {
            Destroy(other.gameObject);
            timerController.AddTime(10);
            return;
        }

        if (other.gameObject.layer == LayerMask.NameToLayer("Ground") && invulnerabilityTime < 0)
        {
            KillPlayer();

            GameManager.Instance.PlayerDeath();
            return;
        }

        if (other.gameObject.layer == LayerMask.NameToLayer("Ennemy"))
        {
            KillPlayer();

            GameManager.Instance.PlayerDeath();
            return;
        }

        if (other.gameObject.layer == LayerMask.NameToLayer("Water") && animal != Animal.FISH && body.velocity.y < 0)
        {
            KillPlayer();

            GameManager.Instance.PlayerDeath();
            return;
        }

        if (other.gameObject.layer == LayerMask.NameToLayer("UltimateCoin"))
        {
            Debug.Log("Coucou");
            ultimateCoinsImages[nbUltimeCoin].Founded();
            Destroy(other.gameObject);
            timerController.AddTime(10);
            nbUltimeCoin++;

            if (nbUltimeCoin >= ultimateCoinsImages.Count)
            {
                Win();
            }
        }
    }
 public override void OnButtonPressed(object sender, EventArgs args)
 {
     //ButtonPressed(this,arg);
     Miscellaneous.InvokeEvent(ButtonPressed, this);
     ChangeTouchableOnPressed();
     _timerController.AddTime(60);
     _isPressed = true;
 }
예제 #3
0
    public void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        TimerController.AddTime(time);
        CoinCounter.AddCoins(coins);
        PlayerController.SetHealth(health);
        LevelGenerator.SetLevelNumber(nextLevel);

        SceneManager.sceneLoaded -= OnSceneLoaded;
        Destroy(this);
    }
예제 #4
0
    public override void Equip()
    {
        base.Equip();
        TimerController levelTimer = FindObjectOfType <TimerController>();

        if (levelTimer)
        {
            if (!levelTimer.IsTimeOut())
            {
                levelTimer.AddTime(time);
                Inventory.Instance.RemoveItem(this);
            }
        }
    }
예제 #5
0
 public void AddTime(float seconds)
 {
     timerController.AddTime(seconds);
     timerController.PulseTimer();
 }