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);
        }
示例#2
0
        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));
        }