コード例 #1
0
    public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
    {
        if (value is string name && DeviceAxis.TryParse(name, out var axis))
        {
            return(axis);
        }

        return(base.ConvertFrom(context, culture, value));
    }
コード例 #2
0
ファイル: TCodeParser.cs プロジェクト: Yoooi0/BusDriver
        public bool Parse(string data, IDictionary <int, float> values)
        {
            var matches = _regex.Matches(data).OfType <Match>();

            if (!matches.Any())
            {
                return(false);
            }

            foreach (var match in matches)
            {
                var axisName  = match.Groups[1].Value;
                var axisValue = match.Groups[2].Value;

                var value = int.Parse(axisValue) / ((float)Math.Pow(10, axisValue.Length) - 1);
                var axis  = -1;
                if (DeviceAxis.TryParse(axisName, out axis))
                {
                    values[axis] = value;
                }
            }

            return(true);
        }