public static void CalculateWorkplaceCount(RICOBuilding ricoData, IWorkplaceLevelCalculator ai, Randomizer r, int width, int length, out int level0, out int level1, out int level2, out int level3) { SetWorkplaceLevels(out level0, out level1, out level2, out level3, 0, 0, 0, 0); RICOBuilding rc = ricoData; if (rc != null) { // reality mod is running and the xml file says ignore-reality="false" if (rc.useReality) { ai.CalculateBaseWorkplaceCount(r, width, length, out level0, out level1, out level2, out level3); } else { SetWorkplaceLevels(out level0, out level1, out level2, out level3, deviateWorkplaces(ricoData.workplaces, ricoData.workplaceDeviation)); } } }
internal static void CalculateWorkplaceCount(ItemClass.Level level, RICOBuilding ricoData, IWorkplaceLevelCalculator ai, Randomizer r, int width, int length, out int level0, out int level1, out int level2, out int level3) { SetWorkplaceLevels(out level0, out level1, out level2, out level3, 0, 0, 0, 0); RICOBuilding rc = ricoData; if (rc != null) { // reality mod is running and the xml file says ignore-reality="false" if (rc.UseReality) { ai.CalculateBaseWorkplaceCount(level, r, width, length, out level0, out level1, out level2, out level3); } else { SetWorkplaceLevels(out level0, out level1, out level2, out level3, ricoData.Workplaces); } } }
public static void CalculateWorkplaceCount(PloppableRICODefinition.Building ricoData, IWorkplaceLevelCalculator ai, Randomizer r, int width, int length, out int level0, out int level1, out int level2, out int level3) { SetWorkplaceLevels(out level0, out level1, out level2, out level3, 0, 0, 0, 0); PloppableRICODefinition.Building rc = ricoData; if (rc == null) { WorkplaceAIHelper.SetWorkplaceLevels(out level0, out level1, out level2, out level3, 10, 20, 30, 40); } else // reality mod is running and the xml file says ignore-reality="false" if (rc.useReality) { ai.CalculateBaseLevels(r, width, length, out level0, out level1, out level2, out level3); } else { if (rc.workplaceCount > 0) { ai.CalculateLevels(r, width, length, out level0, out level1, out level2, out level3); } if (rc.workplaceDetailsEnabled) { // this adds to the results of the usual workplaces calculation WorkplaceAIHelper.SetWorkplaceLevels(out level0, out level1, out level2, out level3, rc.uneducated + level0, rc.educated + level1, rc.wellEducated + level2, rc.highEducated + level3); } // Comment that out and uncomment the following to ignore "workplaces" // and just use the details setting // WorkplaceAIHelper.SetWorkplaceLevels(out level0, out level1, out level2, out level3, m_ricoData); } }