internal RSValidationContext(RSLibrary inLibrary, IRSEntityMgr inManager, IRSEntity inEntity, RSTriggerInfo inTrigger, RSParameterInfo inParameterInfo) { Library = inLibrary; Manager = inManager; Entity = inEntity; Trigger = inTrigger; Parameter = inParameterInfo; }
/// <summary> /// Renders a layout editor for a NestedValue linked to a parameter. /// </summary> static public NestedValue NestedParameterField(RSParameterInfo inParameterInfo, NestedValue inValue, RSValidationFlags inFlags, RSValidationContext inContext) { RSValidationFlags flags = inFlags.ForParameter(inParameterInfo); if (!inParameterInfo.NotNull) { flags |= RSValidationFlags.AllowNullEntity; } return(NestedValueField(EditorGUIUtility.TrTextContent(inParameterInfo.Name, inParameterInfo.Tooltip), inValue, inParameterInfo.Type, inParameterInfo.Default, flags, inContext.WithParameter(inParameterInfo))); }
static public RSValidationFlags ForParameter(this RSValidationFlags inFlags, RSParameterInfo inParameterInfo) { inFlags &= RSValidationFlags.FilterSelection; inFlags |= RSValidationFlags.RequireSingleEntity; if (!inParameterInfo.NotNull) { inFlags |= RSValidationFlags.AllowNullEntity; } return(inFlags); }
/// <summary> /// Renders a layout editor for a ResolvableValue linked to a parameter. /// </summary> static public void ParameterData(UndoTarget inUndo, RSParameterInfo inParameterInfo, RSResolvableValueData ioValue, RSValidationFlags inFlags, RSValidationContext inContext) { inFlags = inFlags.ForParameter(inParameterInfo); ResolvableValueData(inUndo, EditorGUIUtility.TrTextContent(inParameterInfo.Name, inParameterInfo.Tooltip), ioValue, inParameterInfo.Type, inParameterInfo.Default, inFlags, inContext.WithParameter(inParameterInfo)); }
static private void ValidateNestedParameter(RSParameterInfo inParameterInfo, NestedValue inValue, RSValidationState ioState, RSValidationContext inContext) { ioState.PushContext("Parameter: {0}", inParameterInfo.Name); ValidateNestedValue(inValue, inParameterInfo.Type, RSValidationFlags.None.ForParameter(inParameterInfo), ioState, inContext.WithParameter(inParameterInfo)); ioState.PopContext(); }
public RSValidationContext WithParameter(RSParameterInfo inParameter) { return(new RSValidationContext(Library, Manager, Entity, Trigger, inParameter)); }