public void OnUpdatePartyMember(UpdateSocialMemberMessage message) { PartyData party; BasePlayerCharacterEntity playerCharacterEntity; if (ServerPartyHandlers.TryGetParty(message.id, out party) && party.UpdateSocialGroupMember(message)) { switch (message.type) { case UpdateSocialMemberMessage.UpdateType.Add: if (ServerUserHandlers.TryGetPlayerCharacterById(message.data.id, out playerCharacterEntity)) { playerCharacterEntity.PartyId = message.id; ServerGameMessageHandlers.SendSetPartyData(playerCharacterEntity.ConnectionId, party); ServerGameMessageHandlers.SendAddPartyMembersToOne(playerCharacterEntity.ConnectionId, party); } ServerGameMessageHandlers.SendAddPartyMembersToMembers(party, 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.ClearParty(); ServerGameMessageHandlers.SendClearPartyData(playerCharacterEntity.ConnectionId, message.id); } ServerGameMessageHandlers.SendRemovePartyMemberToMembers(party, message.data.id); break; } } }