コード例 #1
0
        public void DebugDraw()
        {
            if (this.map != Find.CurrentMap)
            {
                return;
            }
            if (DebugViewSettings.drawRegionTraversal)
            {
                CellRect currentViewRect = Find.CameraDriver.CurrentViewRect;
                currentViewRect.ClipInsideMap(this.map);
                foreach (IntVec3 c in currentViewRect)
                {
                    Region validRegionAt = this.GetValidRegionAt(c);
                    if (validRegionAt != null && !this.drawnRegions.Contains(validRegionAt))
                    {
                        validRegionAt.DebugDraw();
                        this.drawnRegions.Add(validRegionAt);
                    }
                }
                this.drawnRegions.Clear();
            }
            IntVec3 intVec = UI.MouseCell();

            if (intVec.InBounds(this.map))
            {
                if (DebugViewSettings.drawRooms)
                {
                    Room room = intVec.GetRoom(this.map, RegionType.Set_All);
                    if (room != null)
                    {
                        room.DebugDraw();
                    }
                }
                if (DebugViewSettings.drawRoomGroups)
                {
                    RoomGroup roomGroup = intVec.GetRoomGroup(this.map);
                    if (roomGroup != null)
                    {
                        roomGroup.DebugDraw();
                    }
                }
                if (DebugViewSettings.drawRegions || DebugViewSettings.drawRegionLinks || DebugViewSettings.drawRegionThings)
                {
                    Region regionAt_NoRebuild_InvalidAllowed = this.GetRegionAt_NoRebuild_InvalidAllowed(intVec);
                    if (regionAt_NoRebuild_InvalidAllowed != null)
                    {
                        regionAt_NoRebuild_InvalidAllowed.DebugDrawMouseover();
                    }
                }
            }
        }
コード例 #2
0
        public void DebugDraw()
        {
            if (map != Find.CurrentMap)
            {
                return;
            }
            if (DebugViewSettings.drawRegionTraversal)
            {
                CellRect currentViewRect = Find.CameraDriver.CurrentViewRect;
                currentViewRect.ClipInsideMap(map);
                foreach (IntVec3 item in currentViewRect)
                {
                    Region validRegionAt = GetValidRegionAt(item);
                    if (validRegionAt != null && !drawnRegions.Contains(validRegionAt))
                    {
                        validRegionAt.DebugDraw();
                        drawnRegions.Add(validRegionAt);
                    }
                }
                drawnRegions.Clear();
            }
            IntVec3 intVec = UI.MouseCell();

            if (intVec.InBounds(map))
            {
                if (DebugViewSettings.drawRooms)
                {
                    intVec.GetRoom(map, RegionType.Set_All)?.DebugDraw();
                }
                if (DebugViewSettings.drawRoomGroups)
                {
                    intVec.GetRoomGroup(map)?.DebugDraw();
                }
                if (DebugViewSettings.drawRegions || DebugViewSettings.drawRegionLinks || DebugViewSettings.drawRegionThings)
                {
                    GetRegionAt_NoRebuild_InvalidAllowed(intVec)?.DebugDrawMouseover();
                }
            }
        }