using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;

using Plus.HabboHotel.Rooms;
using Plus.HabboHotel.GameClients;
using Plus.Communication.Packets.Outgoing.Rooms.Chat;
using Plus.HabboHotel.Users;
using Plus.Communication.Packets.Outgoing.Rooms.Notifications;

namespace Plus.HabboHotel.Rooms.Chat.Commands.User.Fun
{
    class ColourCommand : IChatCommand
    {
        public string PermissionRequired
        {
            get { return "command_colour"; }
        }
        public string Parameters
        {
            get { return "%couleur%"; }
        }
        public string Description
        {
            get { return "Changer la couleur d'écriture d'une bulle."; }
        }
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendMessage(new BubbleNotificationComposer("Oops, vous devez choisir une couleur !", "notif"));
                return;
            }
            Habbo Habbo = PlusEnvironment.GetHabboByUsername(Session.GetHabbo().Username);
            string Colour = Params[1];

            if (Colour == null)
            {
                Session.SendMessage(new BubbleNotificationComposer("Oops, vous devez choisir une couleur !", "notif"));
                return;
            }
            if (Params[1].ToString().ToLower() == "liste")
            {
                Session.SendMessage(new RoomNotificationComposer("Liste des couleur disponible",
                    "\n" +
                    "              \n Rouge (<font color=\"#8B1919\">@rouge@</font>)" +
                    "              \n Bleu (<font color=\"#4C99\">@bleu@</font>)" +
                    "              \n Violet(<font color=\"#4C004C\">@violet@</font>)" +
                    "              \n Vert (<font color=\"#8000\">@vert@</font>) " +
                    "              \n Cyan (<font color=\"#7F7F\">@cyan@</font>)" +
                    "\n",
                    "Teaser_newyearcompetition",
                    "Ok",
                    "event:close"));
                return;
            }
            switch (Colour)
            {
                case "noir":
                    {
                        Session.GetHabbo().Colour = null;
                        Session.SendWhisper("La couleur de votre chat est NOIR.", 34);
                        break;
                    }
                case "rouge":
                    {
                        Session.GetHabbo().Colour = "red";
                        Session.SendWhisper("@rouge@ La couleur de votre chat est ROUGE.", 34);
                        break;
                    }
                case "bleu":
                    {
                        Session.GetHabbo().Colour = "blue";
                        Session.SendWhisper("@bleu@ La couleur de votre chat est BLEU.", 34);
                        break;
                    }
                case "vert":
                    {
                        Session.GetHabbo().Colour = "green";
                        Session.SendWhisper("@vert@ La couleur de votre chat est VERT.", 34);
                        break;
                    }
                case "violet":
                    {
                        Session.GetHabbo().Colour = "purple";
                        Session.SendWhisper("@violet@ La couleur de votre chat est VIOLET.", 34);
                        break;
                    }
                case "cyan":
                    {
                        Session.GetHabbo().Colour = "cyan";
                        Session.SendWhisper("@cyan@ La couleur de votre chat est BLEU CIEL.", 34);
                        break;
                    }
            }
        }
    }
}