/// <summary> /// Sets the wrapped value based on the specified type. /// </summary> public void SetValueWrapperFromType(Type wrappedValueType) { if (wrappedValueType == WrappedType) { return; } PreTypeChanged.InvokeSafe(new NodeGraphVariableTypeChangeEvent(this, WrappedType, wrappedValueType)); NodeEditor.Assertions.IsNotNull(wrappedValueType); var classType = typeof(NodeValueWrapper <>).MakeGenericType(wrappedValueType); WrappedValue = Activator.CreateInstance(classType) as NodeValueWrapper; PostTypeChanged.InvokeSafe(new NodeGraphVariableTypeChangeEvent(this, WrappedType, wrappedValueType)); }
public void Remove() { Removed.InvokeSafe(this); WrappedValue = null; }
public NodePinWrapper(NodePin pin, NodeValueWrapper valueWrapper) : base(pin, valueWrapper) { }
public static NodePinValueWrapper Instantiate(NodePin pin, NodeValueWrapper valueWrapper) { var classType = typeof(NodePinWrapper <>).MakeGenericType(valueWrapper.ValueType); return(Activator.CreateInstance(classType, pin, valueWrapper) as NodePinValueWrapper); }
public NodePinValueWrapper(NodePin pin, NodeValueWrapper valueWrapper) { Pin = pin; ValueWrapper = valueWrapper; }
void ValueWrapper_Changed(NodeValueWrapper valueWrapper) { TriggerChange(); }