private static bool IsPark(ref DistrictPark park) { return(DistrictPark.IsParkType(park.m_parkType) || DistrictPark.IsCampusType(park.m_parkType) || DistrictPark.IsAirportType(park.m_parkType) || DistrictPark.IsIndustryType(park.m_parkType)); }
public static TLMConfigWarehouse.ConfigIndex ToConfigIndex(this DistrictPark park) { if (park.IsCampus) { return(TLMConfigWarehouse.ConfigIndex.CAMPUS_AREA_NAME_CONFIG); } if (park.IsIndustry) { return(TLMConfigWarehouse.ConfigIndex.INDUSTRIAL_AREA_NAME_CONFIG); } return(TLMConfigWarehouse.ConfigIndex.PARKAREA_NAME_CONFIG); }
public static bool Prefix(ref DistrictPark __instance, ref float __result) { BuildingManager instance = Singleton <BuildingManager> .instance; if (instance.m_buildings.m_buffer[__instance.m_mainGate].m_flags.IsFlagSet(Building.Flags.Completed)) { ushort eventIndex = instance.m_buildings.m_buffer[__instance.m_mainGate].m_eventIndex; AcademicYearAI academicYearAI = (AcademicYearAI)Singleton <EventManager> .instance.m_events.m_buffer[eventIndex].Info.m_eventAI; __result = academicYearAI.GetYearProgress(eventIndex, ref Singleton <EventManager> .instance.m_events.m_buffer[eventIndex]); } else { __result = 0; } return(false); }
public static void Prefix(byte parkID) { //Mod.DebugLine($"DPIP-Pre: {__instance.m_parkProperties.m_industryLevelInfo[1].m_workerLevelupRequirement}"); DistrictManager dm = Singleton <DistrictManager> .instance; DistrictPark dp = dm.m_parks.m_buffer[parkID]; uint level = (uint)dp.m_parkLevel; //Debug.Log($"DPIP-Pre - Inst:{__instance}, IsPark:{__instance.IsPark} IsInd:{__instance.IsIndustry}, {(uint)__instance.m_parkLevel}({__instance.m_parkLevel}), Type:{__instance.m_parkType} - "; //Debug.Log($"DPIP-Pre - Inst:{dp}, IsInd:{dp.IsIndustry}, {level}({dp.m_parkLevel}), Type:{dp.m_parkType}"); if (DistrictPark.IsIndustryType(dp.m_parkType)) { if (initialised[level]) { return; } initialised[level] = true; //Debug.Log($"DPIP-Pre: {dm.m_properties.m_parkProperties.m_industryLevelInfo[level].m_workerLevelupRequirement}"); dm.m_properties.m_parkProperties.m_industryLevelInfo[level].m_workerLevelupRequirement = RI_Data.GetMilestone(level); } }
public static void CalculateVarsityExpenses(ref DistrictPark district, out ulong upkeep, out int coaching, out int cheerleading, out int policies, out ulong total) { upkeep = district.FetchArenasUpkeep(); coaching = district.CalculateCoachingStaffCost() / 100; int activeArenasCount = district.GetActiveArenasCount(); cheerleading = district.m_cheerleadingBudget * activeArenasCount; policies = 0; DistrictPolicies.Park parkPolicies = district.m_parkPolicies; if ((parkPolicies & DistrictPolicies.Park.FreeFanMerchandise) != 0) { policies += 180 * activeArenasCount; } if ((parkPolicies & DistrictPolicies.Park.VarsitySportsAds) != 0) { policies += 200 * activeArenasCount; } upkeep /= MainDataStore.gameExpenseDivide; coaching /= MainDataStore.gameExpenseDivide; cheerleading /= MainDataStore.gameExpenseDivide; policies /= MainDataStore.gameExpenseDivide; total = (ulong)((long)upkeep + coaching + cheerleading + policies); }
public static TLMSpecialNamingClass GetNamingClass(this DistrictPark park) => park.IsCampus ? TLMSpecialNamingClass.Campus : park.IsIndustry ? TLMSpecialNamingClass.Industrial : TLMSpecialNamingClass.ParkArea;
public static void AddExportAmountFish(this DistrictPark districtPark, TransferManager.TransferReason material, int amount) { switch (material) { case TransferManager.TransferReason.AnimalProducts: m_animalProductsData.m_tempExport = m_animalProductsData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Flours: m_floursData.m_tempExport = m_floursData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Paper: m_paperData.m_tempExport = m_paperData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.PlanedTimber: m_planedTimberData.m_tempExport = m_planedTimberData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Petroleum: m_petroleumData.m_tempExport = m_petroleumData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Plastics: m_plasticsData.m_tempExport = m_plasticsData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Glass: m_glassData.m_tempExport = m_glassData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Metals: m_metalsData.m_tempExport = m_metalsData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.LuxuryProducts: m_luxuryProductsData.m_tempExport = m_luxuryProductsData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Fish: m_fishData.m_tempExport = m_fishData.m_tempExport + (uint)amount; break; default: switch (material) { case TransferManager.TransferReason.Oil: m_oilData.m_tempExport = m_oilData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Ore: m_oreData.m_tempExport = m_oreData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Logs: m_logsData.m_tempExport = m_logsData.m_tempExport + (uint)amount; break; case TransferManager.TransferReason.Grain: m_grainData.m_tempExport = m_grainData.m_tempExport + (uint)amount; break; } break; } }
public static void AddBufferStatusFish(this DistrictPark districtPark, TransferManager.TransferReason material, int amount, int incoming, int capacity) { switch (material) { case TransferManager.TransferReason.AnimalProducts: m_animalProductsData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Flours: m_floursData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Paper: m_paperData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.PlanedTimber: m_planedTimberData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Petroleum: m_petroleumData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Plastics: m_plasticsData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Glass: m_glassData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Metals: m_metalsData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.LuxuryProducts: m_luxuryProductsData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Fish: m_fishData.Add(amount, incoming, capacity); break; default: switch (material) { case TransferManager.TransferReason.Oil: m_oilData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Ore: m_oreData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Logs: m_logsData.Add(amount, incoming, capacity); break; case TransferManager.TransferReason.Grain: m_grainData.Add(amount, incoming, capacity); break; } break; } }