public static void WanWinAwardConins(IParkourPlayer_Xiong.PlayerIndex index) { if (UniGameOptionsDefine.WanWinAwardConins != 0) { RewardPlayerCoins(UniGameOptionsDefine.WanWinAwardConins, index); } }
//触发奖励游戏币 public static void RewardPlayerCoins(int coins, IParkourPlayer_Xiong.PlayerIndex index) { //播放奖励游戏币动画 //播放奖励游戏币声音 SoundEffectPlayer.Play("insertcoins.wav"); //增加奖励的游戏币 playerRewardCoins[(int)index] += coins; }
//用户继续游戏,扣币函数 public static void PlayerContinueGamePayCoins(IParkourPlayer_Xiong.PlayerIndex index) { //记录一次持续 UniGameRecordData.PlayerContinueIntoGame(); //如果是免费模式就不支付了 if (UniGameOptionsDefine.chargeMode == UniInsertCoinsOptionsFile.GameChargeMode.Mode_Free) { return; } //if (GameOptionsDefine.OneChargeModeContinueGame == GameOptionsDefine.GameChargeMode.Mode_Free) //{ // return; //} //不足够支付不记录 if (GetPlayerCoins(index) < UniGameOptionsDefine.ContinueGameCoins) { throw new Exception("not have enough coins!"); } RedPlayerCoins(UniGameOptionsDefine.ContinueGameCoins, index); }
public static void RedPlayerCoins(int value, IParkourPlayer_Xiong.PlayerIndex index) { //一般到这都是够扣的 //如果不够扣也要扣完 //首先扣投入的游戏币 playerInsertCoins[(int)index] -= value; if (playerInsertCoins[(int)index] >= 0)//够扣 { return; } //给出剩余值 value = -playerInsertCoins[(int)index]; playerInsertCoins[(int)index] = 0; playerRewardCoins[(int)index] -= value; if (playerRewardCoins[(int)index] >= 0)//够扣 { return; } playerRewardCoins[(int)index] = 0; }
//触发投币的函数 public static void OnPlayerInsertCoins(int coins, IParkourPlayer_Xiong.PlayerIndex index) { //播放投币声音 SoundEffectPlayer.Play("insertcoins.wav"); //刷新游戏记录 //GameRecordData.InsertCoins(coins); //累计用户投入的游戏币 //需要一个一个的加,每次都要检测是否可以奖励 //有可能一次响应带来投了好几个币 for (int i = 0; i < coins; i++) { playerInsertCoins[(int)index] += 1; //是否可以奖励一个? //如果是零则是关闭的 if (UniGameOptionsDefine.InsertConinsAwardConins != 0) { if (playerInsertCoins[(int)index] % UniGameOptionsDefine.InsertConinsAwardConins == 0) { RewardPlayerCoins(1, index); } } } }
//当前用拥有的游戏币 public static int GetPlayerCoins(IParkourPlayer_Xiong.PlayerIndex index) { return(playerInsertCoins[(int)index] + playerRewardCoins[(int)index]); }