string GetCellDescription(CellIcon icon) { if (DisplayCoordinates) { var map = icon.Cell.Reference.MapPosition; return(map.x + ":" + map.y); } return(string.Empty); }
void HandleIcon(CellIcon icon) { if (!DisplayUndiscovered && !icon.Cell.Reference.IsDiscovered) { icon.SetVisible(false); return; } icon.SetVisible(true); foreach (Room.DoorDirection dir in Room.AllDirs) { var img = icon.GetImage(dir); var connection = icon.Cell.Reference.GetConnectedRoomCell(dir); if (connection.Type != Room.RoomType.Empty) { img.gameObject.SetActive(true); img.color = DisplayLocks && connection.Reference.KeyLock != null ? connection.Reference.KeyLock.color : Color.white; } else { img.gameObject.SetActive(false); } } if (DisplayKeys) { if (icon.Cell.Reference.KeyPickup != null) { icon.Content.sprite = KeySprite; } else { icon.Content.sprite = NormalSprite; } } if (icon.Cell.Reference == game.World.GetCurrentRoom()) { icon.Content.color = CurrentColor; } else { if (icon.Cell.Type == Room.RoomType.Boss) { icon.Content.color = Color.red; } else { icon.Content.color = UndiscoveredColor; } } }
void DisplayCellDoors(CellIcon icon, bool isDiscovered) { foreach (Room.DoorDirection dir in Room.AllDirs) { var img = icon.GetImage(dir); var connection = icon.Cell.Reference.GetConnectedRoomCell(dir); if (connection.Type != Room.RoomType.Empty) { img.gameObject.SetActive(true); img.color = (DisplayLocks || isDiscovered) && connection.Reference.KeyLock != null ? connection.Reference.KeyLock.color : Color.white; } else { img.gameObject.SetActive(false); } } }
Color GetCellColor(CellIcon icon) { if (icon.Cell.Reference == game.World.GetCurrentRoom()) { return(CurrentColor); } else { if (icon.Cell.Type == Room.RoomType.Boss) { return(Color.red); } else { return(UndiscoveredColor); } } }
void SetCellIconContent(CellIcon icon, bool isDiscovered) { var room = icon.Cell.Reference; if (isDiscovered && room.ActivePickup != null) { icon.Content.sprite = room.ActivePickup.MiniMapIcon; icon.Content.color = Color.white; } else if (DisplayKeys && room.KeyPickup != null && !room.PickedUpKey) { icon.Content.sprite = KeySprite; icon.Content.color = Color.white; } else { icon.Content.sprite = null; icon.Content.color = Color.clear; } }
void DisplayCell(CellIcon icon) { icon.Text.text = GetCellDescription(icon); var isDiscovered = icon.Cell.Reference.IsDiscovered; SetCellIconContent(icon, isDiscovered); if (!DisplayUndiscovered && !isDiscovered) { icon.SetVisible(false); return; } icon.SetVisible(true); icon.Background.sprite = NormalSprite; icon.Background.color = GetCellColor(icon); DisplayCellDoors(icon, isDiscovered); }