/// <summary> /// 当前所有动物栏收益和:动物栏收益 =(停车场来人速度,售票口收费速度(全),60/观光速度* 观光点数)三值取最小后* 动物栏产出 /// </summary> /// <returns></returns> public static System.Numerics.BigInteger GetAllZooPrice(bool noMulBuffAffect = false) { //停车场来人速度 int parkNumber = ParkingCenter.GetParkingEnterCarSpawn(); //售票口收费速度 float entryGateNumber = EntryGateModule.GetAllEntryChargeValMs(); //LogWarp.LogErrorFormat("本场景 停车场来人速度{0} 售票口收费速度{1}", parkNumber, entryGateNumber); System.Numerics.BigInteger littleZooNumber = 0; PlayerData playerData = GlobalDataManager.GetInstance().playerData; var littleZooModuleDataList_MS = GlobalDataManager.GetInstance().playerData.playerZoo.littleZooModuleDatasMSS; int sceneID = GlobalDataManager.GetInstance().playerData.playerZoo.currSceneID; for (int i = 0; i < littleZooModuleDataList_MS.Count; i++) { if (littleZooModuleDataList_MS[i].littleZooTicketsLevel == 0 || littleZooModuleDataList_MS[i].sceneID != sceneID) { continue; } //每分钟动物栏基础收益=动物栏产出*min(停车场来人速度,售票口收费速度(全),60/(观光速度*观光点数)) //动物栏产出 var number1 = LittleZooModule.GetLittleZooPrice(littleZooModuleDataList_MS[i].littleZooID, littleZooModuleDataList_MS[i].littleZooTicketsLevel, noMulBuffAffect); //观光速度*观光点数 var number4 = LittleZooModule.GetLittleZooVisitorNumberMS(littleZooModuleDataList_MS[i].littleZooID, littleZooModuleDataList_MS[i]); var number5 = (int)(Mathf.Min(parkNumber, entryGateNumber, number4)) * number1; //LogWarp.LogErrorFormat("测试:本 parkNumber={0} entryGateNumber={1} number4={2} number1={3} ", parkNumber, entryGateNumber, number4, number1); littleZooNumber += number5; } return(littleZooNumber); }
/// <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); }