Пример #1
0
 internal RSValidationContext(RSLibrary inLibrary, IRSEntityMgr inManager, IRSEntity inEntity, RSTriggerInfo inTrigger, RSParameterInfo inParameterInfo)
 {
     Library   = inLibrary;
     Manager   = inManager;
     Entity    = inEntity;
     Trigger   = inTrigger;
     Parameter = inParameterInfo;
 }
Пример #2
0
        /// <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)));
        }
Пример #3
0
 static public RSValidationFlags ForParameter(this RSValidationFlags inFlags, RSParameterInfo inParameterInfo)
 {
     inFlags &= RSValidationFlags.FilterSelection;
     inFlags |= RSValidationFlags.RequireSingleEntity;
     if (!inParameterInfo.NotNull)
     {
         inFlags |= RSValidationFlags.AllowNullEntity;
     }
     return(inFlags);
 }
Пример #4
0
 /// <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));
 }
Пример #5
0
 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();
 }
Пример #6
0
 public RSValidationContext WithParameter(RSParameterInfo inParameter)
 {
     return(new RSValidationContext(Library, Manager, Entity, Trigger, inParameter));
 }