Example #1
0
        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;
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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;
            }
        }
Example #4
0
 public Shortcut(Datum datum)
 {
     Key    = (KeyMapConstants.KeymapKey)datum["Key"];
     Type   = (KeyMapConstants.KeymapType)datum["Type"];
     Action = (KeyMapConstants.KeymapAction)datum["Action"];
 }