object GetPropertyValueForCustomType(SerializedProperty objectWrapper) { TypeObjectWrapper.valueType vt = (TypeObjectWrapper.valueType)objectWrapper.FindPropertyRelative("_currentValueType").enumValueIndex; // objectWrapper.FindPropertyRelative(TypeObjectWrapper._valueObject[vt]); switch (vt) { case TypeObjectWrapper.valueType.Int: return(objectWrapper.FindPropertyRelative("_int").intValue); case TypeObjectWrapper.valueType.Float: return(objectWrapper.FindPropertyRelative("_float").floatValue); case TypeObjectWrapper.valueType.Bool: return(objectWrapper.FindPropertyRelative("_bool").boolValue); case TypeObjectWrapper.valueType.Vector3: return(objectWrapper.FindPropertyRelative("_vector3").vector3Value); case TypeObjectWrapper.valueType.UnityObject: return(objectWrapper.FindPropertyRelative("_unityObject").objectReferenceValue); default: Debug.LogWarning("shit aint implemented yet"); return(null); } }
void SetTypeObjectWrapperValue(SerializedProperty objectWrapper, System.Type pValueType) { TypeObjectWrapper.valueType vt = TypeObjectWrapper.getValueType(pValueType); objectWrapper.FindPropertyRelative("_currentValueType").enumValueIndex = (int)vt; //SerializedProperty prop = objectWrapper.FindPropertyRelative(TypeObjectWrapper._valueString[vt]); return; }
object GetDefaultValueForType(TypeObjectWrapper.valueType vt) { switch (vt) { case TypeObjectWrapper.valueType.Int: return(0); case TypeObjectWrapper.valueType.Float: return(0f); case TypeObjectWrapper.valueType.Bool: return(false); case TypeObjectWrapper.valueType.Vector3: return(Vector3.zero); case TypeObjectWrapper.valueType.UnityObject: return(null); default: return(null); } }
void DrawPropertyForCustomType(Rect trans, SerializedProperty objectWrapper) { TypeObjectWrapper.valueType vt = (TypeObjectWrapper.valueType)objectWrapper.FindPropertyRelative("_currentValueType").enumValueIndex; EditorGUI.PropertyField(trans, objectWrapper.FindPropertyRelative(TypeObjectWrapper._valueString[vt]), GUIContent.none); }