Exemplo n.º 1
0
 public DType Accept(TFloat type, string x)
 {
     if (float.TryParse(x, out var b))
     {
         return(DFloat.ValueOf(b));
     }
     else
     {
         throw new Exception($"{x} 不是float类型");
     }
 }
Exemplo n.º 2
0
    public static float GetPropertyHeight(DFloat dFloat)
    {
        dFloat = dFloat ?? new DFloat();
        float height = LINE_HEIGHT;

        if (!dFloat.isExpanded)
        {
            return(height);
        }
        height += LINE_HEIGHT;
        height += LINE_HEIGHT * dFloat.DecoratorCount;
        return(height);
    }
        public DType Accept(TFloat type, ExcelStream x)
        {
            var d = x.Read();

            if (CheckNull(type.IsNullable, d))
            {
                return(null);
            }
            if (!float.TryParse(d.ToString(), out var v))
            {
                throw new InvalidExcelDataException($"{d} 不是 float 类型值");
            }
            return(DFloat.ValueOf(v));
        }
Exemplo n.º 4
0
 public void Accept(DFloat type, RawTextTable x)
 {
 }
Exemplo n.º 5
0
 public void Accept(DFloat type, ByteBuf x)
 {
     x.WriteFloat(type.Value);
 }
Exemplo n.º 6
0
 public void SetData(string key, DFloat data) => floatData[key] = data;
Exemplo n.º 7
0
 public void AddData(string key, DFloat data) => floatData.Add(key, data);
Exemplo n.º 8
0
    public static DFloat OnGUI(Rect position, DFloat dFloat, GUIContent label, SerializedObject serializedObject)
    {
        Rect pos = position;

        dFloat = dFloat ?? new DFloat();
        string text = label.text + " = " + dFloat.Value;

        pos.height = FIELD_HEIGHT;
        pos.width  = text.Length * CHARACTER_WIDTH;
        EditorGUI.BeginChangeCheck();
        dFloat.isExpanded = EditorGUI.Foldout(pos, dFloat.isExpanded, text);
        bool sizeChanged = EditorGUI.EndChangeCheck();

        pos.x    += pos.width + 3 * SPACE;
        pos.width = position.width - pos.width;
        pos.xMax -= 3 * SPACE;
        EditorGUI.BeginChangeCheck();
        float result = EditorGUI.DelayedFloatField(pos, "[Real Value]", dFloat.realValue);

        if (EditorGUI.EndChangeCheck())
        {
            dFloat.Value = result;
            dFloat.Refresh();
        }

        pos.x    = position.x + SPACE;
        pos.xMax = position.xMax - 2 * SPACE;
        if (dFloat.isExpanded)
        {
            pos.height = FIELD_HEIGHT;
            int delete = -1;

            for (int i = 0, l = dFloat.DecoratorCount; i < l; i++)
            {
                FloatDecorator decorator = dFloat.variableDecorators[i];
                pos.y += LINE_HEIGHT;
                Rect rect = new Rect(pos)
                {
                    xMax = pos.xMax - 4 * CHARACTER_WIDTH
                };
                EditorGUI.BeginChangeCheck();

                VariableDecoratorDrawer.OnGUI(rect, decorator, GUIContent.none);

                if (EditorGUI.EndChangeCheck())
                {
                    dFloat.Sort();
                    dFloat.Refresh();
                }

                rect.x    = rect.xMax + 2 * SPACE;
                rect.xMax = pos.xMax;
                if (GUI.Button(rect, "X"))
                {
                    delete = i;
                }
            }

            if (delete != -1)
            {
                dFloat.Remove(delete);
                sizeChanged = true;
            }

            pos.y += LINE_HEIGHT;
            if (GUI.Button(pos, "Add Decorator"))
            {
                pos.height = LINE_HEIGHT * 5;
                dFloat.Add(new FloatDecorator());
                EditorUtility.SetDirty(serializedObject.targetObject);
                sizeChanged = false;
            }
        }

        if (sizeChanged)
        {
            EditorUtility.SetDirty(serializedObject.targetObject);
        }

        return(dFloat);
    }
 public int Accept(DFloat data, TType type, Title x)
 {
     SetTitleValue(x, data.Value);
     return(1);
 }
Exemplo n.º 10
0
 public void Accept(DFloat type, Utf8JsonWriter x)
 {
     x.WriteNumberValue(type.Value);
 }
Exemplo n.º 11
0
 public string Accept(DFloat type)
 {
     return(type.Value.ToString());
 }
Exemplo n.º 12
0
 public void Accept(DFloat type, DefAssembly x)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 13
0
 public void Accept(DFloat type, StringBuilder line)
 {
     line.Append(type.Value);
 }
Exemplo n.º 14
0
 public bool Accept(DFloat type)
 {
     return(type.Value == 0);
 }
Exemplo n.º 15
0
 public void Accept(DFloat type, DefField x, List <ResourceInfo> y)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 16
0
 public void Accept(DFloat type, TType x, List <ResourceInfo> y)
 {
 }
Exemplo n.º 17
0
 public DType Accept(TFloat type, XElement x, DefAssembly ass)
 {
     return(DFloat.ValueOf(float.Parse(x.Value.Trim())));
 }
Exemplo n.º 18
0
 public void Accept(DFloat type, StringBuilder x)
 {
     x.Append(type.Value);
 }
Exemplo n.º 19
0
 public DType Accept(TFloat type, JsonElement x, DefAssembly ass)
 {
     return(DFloat.ValueOf(x.GetSingle()));
 }