public static void HandleShortcutBarAdd(ShortcutBarAddRequestMessage message, WorldClient client) { switch ((ShortcutBarEnum)message.barType) { case ShortcutBarEnum.GENERAL_SHORTCUT_BAR: if (message.shortcut is ShortcutObjectItem) { ShortcutObjectItem shortcutObj = (ShortcutObjectItem)message.shortcut; GeneralShortcutRecord.AddShortcut(client.Character.Id, shortcutObj.slot, ShortcutObjectItem.Id, shortcutObj.itemUID, shortcutObj.itemGID); } if (message.shortcut is ShortcutSmiley) { ShortcutSmiley shortcutSmiley = (ShortcutSmiley)message.shortcut; GeneralShortcutRecord.AddShortcut(client.Character.Id, shortcutSmiley.slot, ShortcutSmiley.Id, shortcutSmiley.smileyId, 0); } if (message.shortcut is ShortcutEmote) { ShortcutEmote shortcutEmote = (ShortcutEmote)message.shortcut; GeneralShortcutRecord.AddShortcut(client.Character.Id, shortcutEmote.slot, ShortcutEmote.Id, shortcutEmote.emoteId, 0); } break; case ShortcutBarEnum.SPELL_SHORTCUT_BAR: ShortcutSpell shortcut = (ShortcutSpell)message.shortcut; SpellShortcutRecord.AddShortcut(client.Character.Id, shortcut.slot, shortcut.spellId); break; } client.Character.RefreshShortcuts(); }
public static void HandleShortcutBarRemove(ShortcutBarRemoveRequestMessage message, WorldClient client) { switch ((ShortcutBarEnum)message.barType) { case ShortcutBarEnum.GENERAL_SHORTCUT_BAR: GeneralShortcutRecord.RemoveShortcut(client.Character.Id, message.slot); break; case ShortcutBarEnum.SPELL_SHORTCUT_BAR: SpellShortcutRecord.RemoveShortcut(client.Character.Id, message.slot); break; } client.Send(new ShortcutBarRemovedMessage(message.barType, message.slot)); }
public static void HandleShortcutBarSwap(ShortcutBarSwapRequestMessage message, WorldClient client) { switch ((ShortcutBarEnum)message.barType) { case ShortcutBarEnum.SPELL_SHORTCUT_BAR: SpellShortcutRecord.SwapSortcut(client.Character.Id, message.firstSlot, message.secondSlot); break; case ShortcutBarEnum.GENERAL_SHORTCUT_BAR: GeneralShortcutRecord.SwapSortcut(client.Character.Id, message.firstSlot, message.secondSlot); break; } client.Character.RefreshShortcuts(); }
public static void HandleCharacterDeletion(CharacterDeletionRequestMessage message, WorldClient client) // finish this { CharacterRecord deletedCharacter = CharacterRecord.GetCharacterRecordById(message.characterId); if (deletedCharacter == null) { return; } StatsRecord.GetStatsRecord(message.characterId).RemoveElement(); CharacterRecord.Characters.Remove(deletedCharacter); client.Characters.Remove(deletedCharacter); deletedCharacter.RemoveElement(); CharacterItemRecord.RemoveAll(message.characterId); GeneralShortcutRecord.RemoveAll(message.characterId); CharacterSpellRecord.RemoveAll(message.characterId); CharacterJobRecord.RemoveAll(message.characterId); BidShopGainRecord.RemoveAll(message.characterId); CharacterGuildRecord.RemoveAll(message.characterId); // Si il est meneur de guilde? BidShopItemRecord.RemoveAll(message.characterId); Logger.Log("Character " + deletedCharacter.Name + " deleted"); client.Send(new CharactersListMessage(client.Characters.ConvertAll <CharacterBaseInformations>(x => x.GetBaseInformation()), false)); }