/// <summary> /// Add uses to the PowerUp when the player purchases it. /// </summary> /// <param name="t">The type of the PowerUp that the player has bought</param> /// <param name="nPurchases">The quantity of uses bought</param> public void AddPowerUp(PowerUp_Type t, uint nPurchases) { switch (t) { case PowerUp_Type.PU_RAY: powerUps.rays += nPurchases; if (powerUps.rays > MAX_USES) { powerUps.rays = MAX_USES; } break; case PowerUp_Type.PU_BALLS: powerUps.balls += nPurchases; if (powerUps.balls > MAX_USES) { powerUps.balls = MAX_USES; } break; case PowerUp_Type.PU_ELIMINATE_ROW: powerUps.eliminateRows += nPurchases; if (powerUps.eliminateRows > MAX_USES) { powerUps.eliminateRows = MAX_USES; } break; default: break; } }
}; //The stars gained in each level by the player /// <summary> /// Consume 'nUses' uses of the PowerUp 't' /// </summary> /// <param name="t">The type of the PowerUp which has been used</param> /// <param name="nUses">The uses (normally 1) consumed</param> public void ConsumePowerUp(PowerUp_Type t, uint nUses = 1) { switch (t) { case PowerUp_Type.PU_RAY: if (powerUps.rays >= nUses) { powerUps.rays -= nUses; } break; case PowerUp_Type.PU_BALLS: if (powerUps.balls >= nUses) { powerUps.balls -= nUses; } break; case PowerUp_Type.PU_ELIMINATE_ROW: if (powerUps.eliminateRows >= nUses) { powerUps.eliminateRows -= nUses; } break; default: break; } }
/// <summary> /// Purchase a power up /// </summary> /// <param name="t">The power up type</param> /// <param name="nGems">Number of gems that the power up costs</param> /// <param name="nPurchases">Number of purchases</param> public void PurchasePowerUp(PowerUp_Type t, uint nGems, uint nPurchases = 1) { uint totalGems = nGems * nPurchases; if (totalGems <= _playerData.gems) { _playerData.AddPowerUp(t, nPurchases); _playerData.gems -= totalGems; } SaveData(); }
/// <summary> /// Purchase a power up /// </summary> /// <param name="t">The power up type</param> /// <param name="nGems">Number of gems that the power up costs</param> /// <param name="nPurchases">Number of purchases</param> public void PurchasePowerUp(PowerUp_Type t, uint nGems, uint nPurchases = 1) { uint totalGems = nGems * nPurchases; if (totalGems <= _playerData.gems) { Tracker.Tracker.Instance.AddEvent(new Tracker.TrackerEvent(_sessionGuid.ToString(), (int)EVENT_TYPES.BUY, Time.time)); _playerData.AddPowerUp(t, nPurchases); _playerData.gems -= totalGems; } SaveData(); }
/// <summary> /// Consume a power up /// </summary> /// <param name="t">The power up type</param> /// <param name="nUses">The number of uses of that power up</param> public void ConsumePowerUp(PowerUp_Type t, uint nUses = 1) { _playerData.ConsumePowerUp(t, nUses); }
/// <summary> /// Purchase a PowerUp by calling the GameManager. /// </summary> /// <param name="t">The type of PowerUP</param> /// <param name="p">The prize</param> public void PurchasePowerUp(PowerUp_Type t, uint p) { GameManager.instance.PurchasePowerUp(t, p); UpdateUI(); }