Example #1
0
    protected virtual void PowerUpCollected(GameObject player)
    {
        if (State == PowerUpState.IsCollected || State == PowerUpState.IsExpiring)
        {
            return;
        }
        State = PowerUpState.IsCollected;


        PlayerController = player.GetComponent <PlayerController>();
        Player           = player.GetComponent <Player_G>();

        gameObject.transform.parent   = Player.gameObject.transform;
        gameObject.transform.position = Player.gameObject.transform.position;

        // Collection effects
        PowerUpEffects();


        // Payload
        PowerUpPayload();

        // Send message to any listeners
        foreach (GameObject go in EventSystemListeners.main.listeners)
        {
            ExecuteEvents.Execute <IPowerUpEvents>(go, null, (x, y) => x.OnPowerUpCollected(this, Player));
        }



        Collider.enabled = false;
    }
Example #2
0
 void IPowerUpEvents.OnPowerUpCollected(PowerUp_G powerUp, Player_G player)
 {
     // We dont bother storing those that expire immediately
     if (!powerUp.ExpiresImmediately)
     {
         ActivePowerUps.Add(powerUp);
         //UpdateActivePowerUpUi();
     }
 }
Example #3
0
 void IPowerUpEvents.OnPowerUpExpired(PowerUp_G powerUp, Player_G player)
 {
     ActivePowerUps.Remove(powerUp);
     //UpdateActivePowerUpUi();
 }