Exemplo n.º 1
0
        public void AddOrUpdateRoom(Room room, PlacementDataFinderForRooms placementDataFinderForRooms)
        {
            if (!Main.Instance.ShowRoomNames())
            {
                return;
            }

            if (!_ready || room == null)
            {
                return;
            }

            if (room.Map != _map)
            {
                return;
            }

            if (room.Fogged || !_roomRoleFinder.IsImportantRoom(room))
            {
                return;
            }

            var text = _labelMaker.GetRoomLabel(room);

            if (placementDataFinderForRooms == null)
            {
                placementDataFinderForRooms = new PlacementDataFinderForRooms(_map);
            }

            AddLabelForArea(room, text, () => placementDataFinderForRooms.GetData(room, text.Length));
        }
Exemplo n.º 2
0
        private void RegenerateRoomLabels()
        {
            if (!Main.Instance.ShowRoomNames())
            {
                return;
            }

            var roomPlacementDataFinder = new PlacementDataFinderForRooms(_map);

            foreach (var room in _map.regionGrid.allRooms)
            {
                AddOrUpdateRoom(room, roomPlacementDataFinder);
            }
        }