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; } } }