Esempio n. 1
0
 void OnPowerUpTimerEndCallback(TimedPowerUp powerUp)
 {
     Debug.Log("End Timer");
     powerUp.OnTimerEnd.RemoveAllListeners();
     Player.TimedPowerUp = PowerUpType.None;
     DestroyPowerUp(powerUp);
 }
Esempio n. 2
0
    public void Add(PowerUp powerUp)
    {
        if (powerUp.type == PowerUp.PowerUpType.Penalty)
        {
            AudioManager.Instance.Play(AudioManager.Instance.sfxPenalty);
        }
        else
        {
            AudioManager.Instance.Play(AudioManager.Instance.sfxBonus);
        }

        if (powerUp is TimedPowerUp)
        {
            TimedPowerUp currentPowerUp = gameObject.GetComponentInChildren(powerUp.GetType()) as TimedPowerUp;

            if (currentPowerUp != null)
            {
                currentPowerUp.Prolong(currentPowerUp.time);
                return;
            }
        }

        Transform slot = slots[GetNextFreeSlotIndex()].transform;

        PowerUp powerUpInstance = Instantiate(powerUp);

        powerUpInstance.name = powerUp.name;
        powerUpInstance.transform.position = slot.position;
        powerUpInstance.transform.SetParent(slot);
    }
Esempio n. 3
0
    public void Remove <T>()
    {
        TimedPowerUp powerUp = gameObject.GetComponentInChildren <T>() as TimedPowerUp;

        if (powerUp != null)
        {
            powerUp.Interrupt();
        }
    }
Esempio n. 4
0
    void ActionTimedPowerUp(TimedPowerUp powerUp)
    {
        Debug.LogFormat("Action TimedPowerUp {0}", powerUp);
        Player.Points      += powerUp.Points;
        Player.TimedPowerUp = powerUp.Type;

        powerUp.OnTimerEnd.AddListener(OnPowerUpTimerEndCallback);
        powerUp.StarTimer();
    }