Example #1
0
    private void StopPowerUpSlotMachine()
    {
        IsRandomizingPowerUps = false;
        IPowerUp randomPowerUp = PowerUpManager.Instance.GetRandomPowerUp();
        Sprite   powerUpIcon   = powerUpIconsByGuid[randomPowerUp.Id];
        // stop slot reel on the given icon

        // Notify listeners that we have acquired a new payload, this will activate the PowerUp
        PowerUpAcquiredPayload pwrUpAcquiredPayload = new PowerUpAcquiredPayload(randomPowerUp, ActivationType.IMMEDIATE);

        pwrUpAcquiredEvent.Invoke(pwrUpAcquiredPayload);
    }
Example #2
0
    /* ~~~~~~~~~~~~~~~~~~~~ Unity Event Handlers ~~~~~~~~~~~~~~~~~~~~ */

    public void OnPowerUpAcquired(IEventPayload genericPayload)
    {
        if (genericPayload.GetType() == typeof(PowerUpAcquiredPayload))
        {
            PowerUpAcquiredPayload pwrUpAcquiredPayload = (PowerUpAcquiredPayload)genericPayload;
            if (pwrUpAcquiredPayload.Type == ActivationType.IMMEDIATE)
            {
                ActivatePowerUp(pwrUpAcquiredPayload.PowerUp);
            }
            else
            {
                storedPowerUps.Enqueue(pwrUpAcquiredPayload.PowerUp);
            }
        }
    }