Beispiel #1
0
        public void Parse(string[] str)
        {
            // Parse buttons first, accepting empty strings as None
            if (string.IsNullOrWhiteSpace(str[0]))
            {
                _button = GcButton.None;
            }
            else
            {
                _button = (GcButton)Enum.Parse(typeof(GcButton), str[0]);
            }

            // Parse triggers
            _triggerL = byte.Parse(str[1]);
            _triggerR = byte.Parse(str[2]);

            // Parse analogs
            var analogSplit = str[3].Split(',');

            _analogX = sbyte.Parse(analogSplit[0]);
            _analogY = sbyte.Parse(analogSplit[1]);

            // Parse C-Stick
            var cStickSplit = str[4].Split(',');

            _cStickX = sbyte.Parse(cStickSplit[0]);
            _cStickY = sbyte.Parse(cStickSplit[1]);
        }
Beispiel #2
0
        public GameCubeFrame(byte[] data)
        {
            _button = (GcButton)(data[0] | (data[1] << 8));

            _triggerL = data[2];
            _triggerR = data[3];
            _analogX  = (sbyte)(data[4] - 128);
            _analogY  = (sbyte)(data[5] - 128);
            _cStickX  = (sbyte)(data[6] - 128);
            _cStickY  = (sbyte)(data[7] - 128);
        }