private void SendCharacterInfoProdCreate(Client client, byte slot, [CanBeNull] CharacterEntry data) { var newEntityPacket = new CreatePhysicalEntityPacket(SelectionPodStartEntityId + slot, EntityClass.CharacterSelectionPod); var characterInfo = CreateCharacterInfoPacket(client, slot, data); newEntityPacket.EntityData.Add(characterInfo); client.CallMethod(SysEntity.ClientMethodId, newEntityPacket); }
public void StartCharacterSelection(Client client) { if (client.State != ClientState.LoggedIn) { return; } client.CallMethod(SysEntity.ClientMethodId, new BeginCharacterSelectionPacket(null, false, client.AccountEntry.Id)); for (var i = 1U; i <= MaxSelectionPods; ++i) { var newEntityPacket = new CreatePhysicalEntityPacket(SelectionPodStartEntityId + i, EntityClass.CharacterSelectionPod); newEntityPacket.EntityData.Add(new CharacterInfoPacket(i, true)); client.CallMethod(SysEntity.ClientMethodId, newEntityPacket); } client.State = ClientState.CharacterSelection; }