예제 #1
0
        public virtual BuildingInfo GetUpgradeInfo(ushort buildingID, ref Building data)
        {
            // This method is very fragile, no logging here!

            BuildingInfo info = data.Info;

            Randomizer randomizer = new Randomizer((int)buildingID);

            for (int i = 0; i <= (int)info.m_class.m_level; i++)
            {
                randomizer.Int32(1000u);
            }

            ItemClass.Level level    = info.m_class.m_level + 1;
            DistrictManager instance = Singleton <DistrictManager> .instance;
            byte            district = instance.GetDistrict(data.m_position);
            ushort          style    = instance.m_districts.m_buffer[(int)district].m_Style;

            /*
             * return Singleton<BuildingManager>.instance.GetRandomBuildingInfo(ref randomizer, info.m_class.m_service,
             *  info.m_class.m_subService, level, data.Width, data.Length, info.m_zoningMode);
             */

            return(RandomBuildings.GetRandomBuildingInfo_Upgrade(data.m_position, data.m_infoIndex,
                                                                 ref randomizer, info.m_class.m_service, info.m_class.m_subService, level, data.Width, data.Length, info.m_zoningMode, style));
        }