示例#1
0
        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));
                }
            }
        }
示例#2
0
        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);
            }
        }