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); }
/* ~~~~~~~~~~~~~~~~~~~~ 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); } } }