Example #1
0
    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;
            }
        }
    }
Example #3
0
 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);
         }
     }
 }
Example #4
0
 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);
         }
     }
 }
Example #5
0
    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;
        }
    }
Example #6
0
    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);
    }