Codebreak.Service.World.Game.Guild.GuildInstance.MemberKick C# (CSharp) Method

MemberKick() public method

public MemberKick ( GuildMember member, string kickedMemberName ) : void
member GuildMember
kickedMemberName string
return void
        public void MemberKick(GuildMember member, string kickedMemberName)
        {
            if (kickedMemberName != member.Name && !member.HasRight(GuildRightEnum.BAN))
            {
                member.SendHasNotEnoughRights();
                return;
            }

            var kickedMember = m_members.Find(m => m.Name == kickedMemberName);
            if (kickedMember == null)
            {
                member.Dispatch(WorldMessage.BASIC_NO_OPERATION());
                return;
            }

            if (kickedMember.Rank == GuildRankEnum.BOSS)
            {
                if (kickedMemberName != member.Name)
                {
                    member.Dispatch(WorldMessage.SERVER_ERROR_MESSAGE("The boss cannot be kicked by a pig."));
                    return;
                }
            }

            member.Dispatch(WorldMessage.GUIL_KICK_SUCCESS(member.Name, kickedMemberName));

            if (member.Name != kickedMemberName)
                kickedMember.Dispatch(WorldMessage.GUIL_KICK_SUCCESS(member.Name, kickedMemberName));

            RemoveMember(kickedMember);

            kickedMember.GuildLeave();

            base.Dispatch(WorldMessage.GUILD_MEMBER_REMOVE(kickedMember.Id));

            CheckIntegrity();
        }