// Token: 0x0600000B RID: 11 RVA: 0x00002324 File Offset: 0x00000524 private void DrillNewLayer() { Messages.Message("Drilling complete", MessageTypeDefOf.PositiveEvent, true); MapParent mapParent = (MapParent)WorldObjectMaker.MakeWorldObject(DefDatabase <WorldObjectDef> .GetNamed("UndergroundMapParent", true)); mapParent.Tile = Tile; Find.WorldObjects.Add(mapParent); connectedMapParent = (UndergroundMapParent)mapParent; CellRect cellRect = this.OccupiedRect(); connectedMapParent.holeLocation = new IntVec3(cellRect.minX + 1, 0, cellRect.minZ + 1); string seedString = Find.World.info.seedString; Find.World.info.seedString = new System.Random().Next(0, 2147483646).ToString(); connectedMap = MapGenerator.GenerateMap(Find.World.info.initialMapSize, mapParent, mapParent.MapGeneratorDef, mapParent.ExtraGenStepDefs, null); Find.World.info.seedString = seedString; connectedLift = GenSpawn.Spawn(ThingMaker.MakeThing(DefDatabase <ThingDef> .GetNamed("undergroundlift", true), Stuff), connectedMapParent.holeLocation, connectedMap, WipeMode.Vanish); connectedLift.SetFaction(Faction.OfPlayer, null); UndergroundManager undergroundManager = Map.components.Find((MapComponent item) => item is UndergroundManager) as UndergroundManager; undergroundManager.InsertLayer(connectedMapParent); bool flag = connectedLift is Building_SpawnedLift; if (flag) { ((Building_SpawnedLift)connectedLift).depth = connectedMapParent.depth; ((Building_SpawnedLift)connectedLift).surfaceMap = Map; } else { Log.Warning("Spawned lift isn't deeprim's lift. Someone's editing this mod! And doing it badly!!! Very badly.", false); } }