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)); }