Ejemplo n.º 1
0
 public void OnGui()
 {
     foreach (var IListenableVisualElement in CurrentIListenableVisualElementRefrerences)
     {
         IListenableVisualElement.Refresh();
     }
 }
Ejemplo n.º 2
0
    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);
    }