Example #1
0
        static Color GetColorFromPartType(JsonMessagePart messagePart)
        {
            switch (messagePart.Type)
            {
            case JsonMessagePartType.PlayerId:
                return((int.TryParse(messagePart.Text, out var playerId) && playerId == session.ConnectionInfo.Slot)
                                                ? Color.Yellow
                                                : Color.Orange);

            case JsonMessagePartType.PlayerName:
                return(session.Players.GetPlayerName(session.ConnectionInfo.Slot) == messagePart.Text
                                                ? Color.Yellow
                                                : Color.Orange);

            case JsonMessagePartType.ItemId:
            case JsonMessagePartType.ItemName:
                switch (messagePart.Flags)
                {
                case ItemFlags.Advancement:
                    return(Color.Crimson * 6);

                case ItemFlags.NeverExclude:
                    return(Color.Crimson * 2.5f);

                case ItemFlags.Trap:
                    return(Color.Red);

                default:
                    return(Color.Crimson);
                }

            case JsonMessagePartType.LocationId:
            case JsonMessagePartType.LocationName:
                return(Color.Aquamarine);

            case JsonMessagePartType.EntranceName:
                return(Color.DarkOliveGreen);

            default:
                return(Color.White);
            }
        }
Example #2
0
        static string GetMessage(JsonMessagePart messagePart)
        {
            switch (messagePart.Type)
            {
            case JsonMessagePartType.PlayerId:
                return(int.TryParse(messagePart.Text, out var playerSlot)
                                                ? session.Players.GetPlayerAliasAndName(playerSlot) ?? $"Slot: {playerSlot}"
                                                : messagePart.Text);

            case JsonMessagePartType.ItemId:
                return(int.TryParse(messagePart.Text, out var itemId)
                                                ? session.Items.GetItemName(itemId) ?? $"Item: {itemId}"
                                                : messagePart.Text);

            case JsonMessagePartType.LocationId:
                return(int.TryParse(messagePart.Text, out var locationId)
                                                ? session.Locations.GetLocationNameFromId(locationId) ?? $"Location: {locationId}"
                                                : messagePart.Text);

            default:
                return(messagePart.Text);
            }
        }
Example #3
0
        static Color GetColor(JsonMessagePart messagePart)
        {
            if (messagePart.Type != JsonMessagePartType.Color)
            {
                return(GetColorFromPartType(messagePart));
            }

            switch (messagePart.Color)
            {
            case JsonMessagePartColor.Red:
                return(Color.Red);

            case JsonMessagePartColor.Green:
                return(Color.Green);

            case JsonMessagePartColor.Yellow:
                return(Color.Yellow);

            case JsonMessagePartColor.Blue:
                return(Color.Blue);

            case JsonMessagePartColor.Magenta:
                return(Color.Magenta);

            case JsonMessagePartColor.Cyan:
                return(Color.Cyan);

            case JsonMessagePartColor.Black:
                return(Color.DarkGray);

            case JsonMessagePartColor.White:
                return(Color.White);

            default:
                return(Color.White);
            }
        }