public Shortcut(KeyMapConstants.KeymapKey key, KeyMapConstants.KeymapAction action, KeyMapConstants.KeymapType type = KeyMapConstants.KeymapType.None) { Key = key; Type = type == KeyMapConstants.KeymapType.None ? GetTypeFromAction(action) : type; Action = action; }
private static KeyMapConstants.KeymapType GetTypeFromAction(KeyMapConstants.KeymapAction action) { switch (action) { case KeyMapConstants.KeymapAction.Cockeyed: case KeyMapConstants.KeymapAction.Happy: case KeyMapConstants.KeymapAction.Sarcastic: case KeyMapConstants.KeymapAction.Crying: case KeyMapConstants.KeymapAction.Outraged: case KeyMapConstants.KeymapAction.Shocked: case KeyMapConstants.KeymapAction.Annoyed: return(KeyMapConstants.KeymapType.BasicFace); case KeyMapConstants.KeymapAction.PickUp: case KeyMapConstants.KeymapAction.Sit: case KeyMapConstants.KeymapAction.Attack: case KeyMapConstants.KeymapAction.Jump: case KeyMapConstants.KeymapAction.NpcChat: return(KeyMapConstants.KeymapType.BasicAction); case KeyMapConstants.KeymapAction.EquipmentMenu: case KeyMapConstants.KeymapAction.ItemMenu: case KeyMapConstants.KeymapAction.AbilityMenu: case KeyMapConstants.KeymapAction.SkillMenu: case KeyMapConstants.KeymapAction.BuddyList: case KeyMapConstants.KeymapAction.WorldMap: case KeyMapConstants.KeymapAction.Messenger: case KeyMapConstants.KeymapAction.MiniMap: case KeyMapConstants.KeymapAction.QuestMenu: case KeyMapConstants.KeymapAction.SetKey: case KeyMapConstants.KeymapAction.AllChat: case KeyMapConstants.KeymapAction.WhisperChat: case KeyMapConstants.KeymapAction.PartyChat: case KeyMapConstants.KeymapAction.BuddyChat: case KeyMapConstants.KeymapAction.Shortcut: case KeyMapConstants.KeymapAction.QuickSlot: case KeyMapConstants.KeymapAction.ExpandChat: case KeyMapConstants.KeymapAction.GuildList: case KeyMapConstants.KeymapAction.GuildChat: case KeyMapConstants.KeymapAction.PartyList: case KeyMapConstants.KeymapAction.QuestHelper: case KeyMapConstants.KeymapAction.SpouseChat: case KeyMapConstants.KeymapAction.MonsterBook: case KeyMapConstants.KeymapAction.CashShop: case KeyMapConstants.KeymapAction.AllianceChat: case KeyMapConstants.KeymapAction.PartySearch: case KeyMapConstants.KeymapAction.FamilyList: case KeyMapConstants.KeymapAction.Medal: return(KeyMapConstants.KeymapType.Menu); default: return(KeyMapConstants.KeymapType.None); } }
public void Change(Packet iPacket) { int mode = iPacket.ReadInt(); int count = iPacket.ReadInt(); switch (mode) { case 0: if (count == 0) { return; } for (int i = 0; i < count; i++) { KeyMapConstants.KeymapKey key = (KeyMapConstants.KeymapKey)iPacket.ReadInt(); KeyMapConstants.KeymapType type = (KeyMapConstants.KeymapType)iPacket.ReadByte(); KeyMapConstants.KeymapAction action = (KeyMapConstants.KeymapAction)iPacket.ReadInt(); if (Contains(key)) { if (type == KeyMapConstants.KeymapType.None) { Remove(key); } else { this[key].Type = type; this[key].Action = action; } } else { Add(new Shortcut(key, action, type)); } } break; case 1: break; case 2: break; } }
public Shortcut(Datum datum) { Key = (KeyMapConstants.KeymapKey)datum["Key"]; Type = (KeyMapConstants.KeymapType)datum["Type"]; Action = (KeyMapConstants.KeymapAction)datum["Action"]; }