ArkaliaCore.Game.Game.Handlers.FriendHandler.HandleAddFriend C# (CSharp) Method

HandleAddFriend() public static method

public static HandleAddFriend ( Network client, string packet ) : void
client Network
packet string
return void
        public static void HandleAddFriend(Network.Game.GameClient client, string packet)
        {
            if (packet.Length > 3)
            {
                var data = packet.Substring(2);
                var type = data[0];
                switch (type)
                {
                    case '%'://Account
                        var name = data.Substring(1).ToLower();

                        //He have no friends :(
                        if (name == client.Account.Pseudo.ToLower() || name == client.Character.Nickname.ToLower())
                        {
                            client.ErrorMessage("Vous ne pouvez vous ajouter en ami, chercher plutot de <b>\"vrai\"</b> ami(s) ! :(");
                            return;
                        }

                        var accountFinded = World.GetClientByPseudo(name);
                        if (accountFinded != null)
                        {
                            Utilities.Logger.Debug("Try to add friend by account [" + name + "]");
                            if (!client.Account.Infos.HaveFriend(accountFinded.Account.ID))
                            {
                                client.Account.Infos.Friends.Add(new Friends.Friend(accountFinded.Account.Infos.AccountId));
                                client.SendFriends();
                                client.Account.Infos.Save();
                            }
                            else
                            {
                                //TODO: Have already friend
                            }
                        }
                        else//Try find by character name
                        {
                            addByCharacter(client, name);
                        }
                        break;

                    default://Character name
                        addByCharacter(client, data);
                        break;
                }
            }
        }