public void ConstructComponents() { spawnedThings = new ThingOwner <Thing>(this); cellIndices = new CellIndices(this); listerThings = new ListerThings(ListerThingsUse.Global); listerBuildings = new ListerBuildings(); mapPawns = new MapPawns(this); dynamicDrawManager = new DynamicDrawManager(this); mapDrawer = new MapDrawer(this); tooltipGiverList = new TooltipGiverList(); pawnDestinationReservationManager = new PawnDestinationReservationManager(); reservationManager = new ReservationManager(this); physicalInteractionReservationManager = new PhysicalInteractionReservationManager(); designationManager = new DesignationManager(this); lordManager = new LordManager(this); debugDrawer = new DebugCellDrawer(); passingShipManager = new PassingShipManager(this); haulDestinationManager = new HaulDestinationManager(this); gameConditionManager = new GameConditionManager(this); weatherManager = new WeatherManager(this); zoneManager = new ZoneManager(this); resourceCounter = new ResourceCounter(this); mapTemperature = new MapTemperature(this); temperatureCache = new TemperatureCache(this); areaManager = new AreaManager(this); attackTargetsCache = new AttackTargetsCache(this); attackTargetReservationManager = new AttackTargetReservationManager(this); lordsStarter = new VoluntarilyJoinableLordsStarter(this); thingGrid = new ThingGrid(this); coverGrid = new CoverGrid(this); edificeGrid = new EdificeGrid(this); blueprintGrid = new BlueprintGrid(this); fogGrid = new FogGrid(this); glowGrid = new GlowGrid(this); regionGrid = new RegionGrid(this); terrainGrid = new TerrainGrid(this); pathGrid = new PathGrid(this); roofGrid = new RoofGrid(this); fertilityGrid = new FertilityGrid(this); snowGrid = new SnowGrid(this); deepResourceGrid = new DeepResourceGrid(this); exitMapGrid = new ExitMapGrid(this); avoidGrid = new AvoidGrid(this); linkGrid = new LinkGrid(this); glowFlooder = new GlowFlooder(this); powerNetManager = new PowerNetManager(this); powerNetGrid = new PowerNetGrid(this); regionMaker = new RegionMaker(this); pathFinder = new PathFinder(this); pawnPathPool = new PawnPathPool(this); regionAndRoomUpdater = new RegionAndRoomUpdater(this); regionLinkDatabase = new RegionLinkDatabase(); moteCounter = new MoteCounter(); gatherSpotLister = new GatherSpotLister(); windManager = new WindManager(this); listerBuildingsRepairable = new ListerBuildingsRepairable(); listerHaulables = new ListerHaulables(this); listerMergeables = new ListerMergeables(this); listerFilthInHomeArea = new ListerFilthInHomeArea(this); listerArtificialBuildingsForMeditation = new ListerArtificialBuildingsForMeditation(this); listerBuldingOfDefInProximity = new ListerBuldingOfDefInProximity(this); reachability = new Reachability(this); itemAvailability = new ItemAvailability(this); autoBuildRoofAreaSetter = new AutoBuildRoofAreaSetter(this); roofCollapseBufferResolver = new RoofCollapseBufferResolver(this); roofCollapseBuffer = new RoofCollapseBuffer(); wildAnimalSpawner = new WildAnimalSpawner(this); wildPlantSpawner = new WildPlantSpawner(this); steadyEnvironmentEffects = new SteadyEnvironmentEffects(this); skyManager = new SkyManager(this); overlayDrawer = new OverlayDrawer(); floodFiller = new FloodFiller(this); weatherDecider = new WeatherDecider(this); fireWatcher = new FireWatcher(this); dangerWatcher = new DangerWatcher(this); damageWatcher = new DamageWatcher(); strengthWatcher = new StrengthWatcher(this); wealthWatcher = new WealthWatcher(this); regionDirtyer = new RegionDirtyer(this); cellsInRandomOrder = new MapCellsInRandomOrder(this); rememberedCameraPos = new RememberedCameraPos(this); mineStrikeManager = new MineStrikeManager(); storyState = new StoryState(this); retainedCaravanData = new RetainedCaravanData(this); temporaryThingDrawer = new TemporaryThingDrawer(); components.Clear(); FillComponents(); }
internal static void Postfix(Building building, AvoidGrid __instance) { RegisterUtility.OnBuildingDespawned(building, __instance.map); }