public void OnUpdateGuildMember(UpdateSocialMemberMessage message)
        {
            GuildData guild;
            BasePlayerCharacterEntity playerCharacterEntity;

            if (ServerGuildHandlers.TryGetGuild(message.id, out guild) && guild.UpdateSocialGroupMember(message))
            {
                switch (message.type)
                {
                case UpdateSocialMemberMessage.UpdateType.Add:
                    if (ServerUserHandlers.TryGetPlayerCharacterById(message.data.id, out playerCharacterEntity))
                    {
                        playerCharacterEntity.GuildId   = message.id;
                        playerCharacterEntity.GuildName = guild.guildName;
                        playerCharacterEntity.GuildRole = guild.GetMemberRole(playerCharacterEntity.Id);
                        ServerGameMessageHandlers.SendSetGuildData(playerCharacterEntity.ConnectionId, guild);
                        ServerGameMessageHandlers.SendAddGuildMembersToOne(playerCharacterEntity.ConnectionId, guild);
                    }
                    ServerGameMessageHandlers.SendAddGuildMemberToMembers(guild, message.data.id, message.data.characterName, message.data.dataId, message.data.level);
                    break;

                case UpdateSocialMemberMessage.UpdateType.Remove:
                    if (ServerUserHandlers.TryGetPlayerCharacterById(message.data.id, out playerCharacterEntity))
                    {
                        playerCharacterEntity.ClearGuild();
                        ServerGameMessageHandlers.SendClearGuildData(playerCharacterEntity.ConnectionId, message.id);
                    }
                    ServerGameMessageHandlers.SendRemoveGuildMemberToMembers(guild, message.data.id);
                    break;
                }
            }
        }