/// <summary> /// 当前每分钟产出 /// 所有动物栏收益+售票口票价*min(停车场来人速度,售票口收费速度(全)) /// </summary> /// <returns></returns> public static System.Numerics.BigInteger CurrScenePerMinCoin(bool isNeedMulBuff = false) { //所有动物栏收益 var allZooPrice = GetAllZooPrice(isNeedMulBuff); //每分钟售票口基础收益=售票口票价*min(停车场来人速度,售票口收费速度(全)) //售票口票价: int sceneID = GlobalDataManager.GetInstance().playerData.playerZoo.currSceneID; var entryPrice = EntryGateModule.GetEntryPrice(GlobalDataManager.GetInstance().playerData.GetEntryDateDataIDIndexOfDataIdx().entryTicketsLevel, sceneID, isNeedMulBuff); //min(停车场来人速度,售票口收费速度(全)) var number = Mathf.Min(ParkingCenter.GetParkingEnterCarSpawn(), EntryGateModule.GetAllEntryChargeValMs()); //所有动物栏收益+售票口票价*min(停车场来人速度,售票口收费速度(全)) System.Numerics.BigInteger coin = allZooPrice + (entryPrice * (int)(number * 100)) / 100; //Logger.LogWarp.LogErrorFormat("测试:当前场景 每分钟 收益 allZooPrice={0}, entryPrice={1}, number={2}", allZooPrice ,entryPrice ,number ); return(coin); }
/// <summary> /// 售票口CD /// </summary> /// <param name="msg"></param> protected void OnEntryGateCheckGoToZoo(Message msg) { #if NO_BIGINT PlaySceneMoneyMusic(); #else //只有最新解锁的场景动物栏和大门产钱 if (playerData.playerZoo.currSceneID != playerData.playerZoo.lastUnLockSceneID) { return; } var sceneID = playerData.playerZoo.currSceneID; var price = EntryGateModule.GetEntryPrice(GlobalDataManager.GetInstance().playerData.GetEntryDateDataIDIndexOfDataIdx().entryTicketsLevel, sceneID, true); PlaySceneMoneyMusic(); playerData.playerZoo.playerCoin.WarpAddCoin(playerData, price, false); #endif }
/// <summary> /// 其他场景产出每分钟产 /// 所有动物栏收益+售票口票价*min(停车场来人速度,售票口收费速度(全)) /// </summary> /// <returns></returns> public static System.Numerics.BigInteger LeaveScenePerMinCoin(int sceneID, bool isNeedMulBuff = false) { System.Numerics.BigInteger coin = 0; var playerData = GlobalDataManager.GetInstance().playerData; var scenePlayerData = playerData.playerZoo.scenePlayerDataMSS; if (scenePlayerData == null) { return(coin); } var sceneStates = scenePlayerData.sceneStates; if (sceneStates == null) { return(coin); } for (int i = 0; i < sceneStates.Count; i++) { var sceneState = sceneStates[i]; if ((sceneState.enterCount > 0 || sceneState.sceneId == GameConst.First_SceneID) && sceneState.sceneId != playerData.playerZoo.currSceneID && sceneState.sceneId == sceneID) { //所有动物栏收益 var allZooPrice = GetOtherSceneAllZooPrice(sceneID, isNeedMulBuff); //每分钟售票口基础收益=售票口票价*min(停车场来人速度,售票口收费速度(全)) //售票口票价: var entryPrice = EntryGateModule.GetEntryPrice(GlobalDataManager.GetInstance().playerData.GetEntryDateDataIDIndexOfDataIdx(sceneID).entryTicketsLevel, sceneID, isNeedMulBuff); //min(停车场来人速度,售票口收费速度(全)) var number = Mathf.Min(ParkingCenter.GetOtherSceneParkingEnterCarSpawn(sceneID), EntryGateModule.GetAllEntryChargeValMs(sceneID)); //所有动物栏收益+售票口票价*min(停车场来人速度,售票口收费速度(全)) coin = allZooPrice + (entryPrice * (int)(number * 100)) / 100; //Logger.LogWarp.LogErrorFormat("测试:其他场景{0} 每分钟 收益 allZooPrice={1}, entryPrice={2}, number={3}", sceneID, allZooPrice, entryPrice, number); } } return(coin); }