private string GetPropertyNameForType(LDtkFieldType type) { switch (type) { case LDtkFieldType.Int: return(LDtkFieldElement.PROP_INT); case LDtkFieldType.Float: return(LDtkFieldElement.PROP_FLOAT); case LDtkFieldType.Boolean: return(LDtkFieldElement.PROP_BOOL); case LDtkFieldType.String: case LDtkFieldType.Multiline: case LDtkFieldType.FilePath: case LDtkFieldType.Enum: return(LDtkFieldElement.PROP_STRING); case LDtkFieldType.Color: return(LDtkFieldElement.PROP_COLOR); case LDtkFieldType.Point: return(LDtkFieldElement.PROP_VECTOR2); } return(null); }
public LDtkFieldElement(object obj, FieldInstance instance) { _type = GetTypeForInstance(instance); switch (_type) { case LDtkFieldType.Int: _int = (int)obj; break; case LDtkFieldType.Float: _float = (float)obj; break; case LDtkFieldType.Boolean: _bool = (bool)obj; break; case LDtkFieldType.String: case LDtkFieldType.Multiline: case LDtkFieldType.FilePath: case LDtkFieldType.Enum: _string = (string)obj; break; case LDtkFieldType.Color: _color = (Color)obj; break; case LDtkFieldType.Point: _vector2 = (Vector2)obj; break; } }
private SerializedProperty GetPropertyToDraw(SerializedProperty property) { SerializedProperty typeProp = property.FindPropertyRelative(LDtkFieldElement.PROP_TYPE); Array values = Enum.GetValues(typeof(LDtkFieldType)); LDtkFieldType type = (LDtkFieldType)values.GetValue(typeProp.enumValueIndex); string propName = GetPropertyNameForType(type); return(property.FindPropertyRelative(propName)); }