Exemple #1
0
        public virtual IMessage Decode(byte[] bytes)
        {
            header.Clear();
            header.Decode(bytes, 0);

            switch (header.GetMessageType())
            {
            case MessageType.Keyboard:
                keyboard.Clear();
                keyboard.Decode(bytes, 0);
                return(keyboard);

            case MessageType.Rocker:
                rocker.Clear();
                rocker.Decode(bytes, 0);
                return(rocker);

            case MessageType.Gyro:
                gyro.Clear();
                gyro.Decode(bytes, 0);
                return(gyro);
            }

            return(null);
        }
Exemple #2
0
        //摇杆消息
        public static IMessage Rocker(byte hid, byte id, float x, float y, string keyName, KeyboardState state)
        {
            int           keycode = KeyMap[hid][keyName];
            MessageRocker msg     = new MessageRocker();

            msg.Clear();
            msg.Rid       = id;
            msg.TimeStamp = SystemTime.LowClientNow();
            msg.Hid       = hid;
            msg.KeyCode   = (KeyCode2)keycode;
            msg.State     = state;
            msg.Rx        = x;
            msg.Ry        = y;

            return(msg);
        }