public void OnGui() { foreach (var IListenableVisualElement in CurrentIListenableVisualElementRefrerences) { IListenableVisualElement.Refresh(); } }
public static IListenableVisualElement BuildIListenableVisualElementFromMember(object obj, FieldInfo field) { IListenableVisualElement IListenableVisualElement = null; if (field.FieldType == typeof(Vector3)) { IListenableVisualElement = new Vector3ListenableField(obj, field, SanitizeFieldName(field.Name)); } else if (field.FieldType == typeof(bool)) { IListenableVisualElement = new BoolListenableField(obj, field, SanitizeFieldName(field.Name)); } else if (field.FieldType == typeof(float)) { IListenableVisualElement = new FloatListenableField(obj, field, SanitizeFieldName(field.Name)); } else if (typeof(Enum).IsAssignableFrom(field.FieldType)) { IListenableVisualElement = new EnumListenableField(obj, field, SanitizeFieldName(field.Name)); } else if (field.FieldType == typeof(BoolVariable)) { var boolVariable = (BoolVariable)field.GetValue(obj); var f = boolVariable.GetType().GetField("Value", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); IListenableVisualElement = new BoolListenableField(boolVariable, f, SanitizeFieldName(field.Name)); } else if (typeof(CoreInteractiveObject).IsAssignableFrom(field.FieldType)) { IListenableVisualElement = new CoreInteractiveObjectListenableField(obj, field); } else if (typeof(RangeObjectV2).IsAssignableFrom(field.FieldType)) { IListenableVisualElement = new RangeObjectV2ListenableField(obj, field); } else if (typeof(IDictionary).IsAssignableFrom(field.FieldType)) { IListenableVisualElement = new IDictionaryListenableField(obj, field); } else if (field.GetCustomAttribute <VE_Array>() != null) { IListenableVisualElement = new IEnumerableListenableField(obj, field); } return(IListenableVisualElement); }