public override void Initialize(MemberInfo member, Type memberValueType) { var contextReqSymbol = ValueResolverUtility.CreateContext(this, member); var contextNoReqSymbol = ValueResolverUtility.CreateContext(this, member); this.messageGetter = MessageValueResolver.Resolve(contextReqSymbol, this.Attribute.Message); this.showMessageGetter = BoolValueResolver.Resolve(contextNoReqSymbol, this.Attribute.VisibleIf, true); }
public override void Initialize(MemberInfo member, Type memberValueType) { var contextReqSymbol = ValueResolverUtility.CreateContext(this, member); var contextNoReqSymbol = ValueResolverUtility.CreateContext(this, member); //contextReqSymbol.RequireSymbolForMemberReferences = true; this.messageGetter = MessageValueResolver.Resolve(contextReqSymbol, this.Attribute.Message, this.Attribute.Message); this.detailsGetter = MessageValueResolver.Resolve(contextReqSymbol, this.Attribute.Details, this.Attribute.Details); this.showMessageGetter = BoolValueResolver.Resolve(contextNoReqSymbol, this.Attribute.VisibleIf, true); }
public override void Initialize(MemberInfo member, Type memberValueType) { #pragma warning disable CS0618 // Type or member is obsolete. this.requireExistingPath = this.Attribute.RequireExistingPath || this.Attribute.RequireValidPath; #pragma warning restore CS0618 // Type or member is obsolete. if (this.requireExistingPath) { var context = ValueResolverUtility.CreateContext(this, member); this.parentPathProvider = ParentPathResolver.Resolve(context, this.Attribute.ParentFolder, null); } }
protected override void Initialize() { if (ValueResolver == null) { ValueResolver = ValueResolverUtility.GetResolver <double>() .TryMemberReference() .TryExpression(); } var context = ValueResolverUtility.CreateContext(this); this.maxValueGetter = ValueResolver.Resolve(context, this.Attribute.Expression, this.Attribute.MaxValue); }
public override void Initialize(MemberInfo member, Type memberValueType) { if (ValueResolver == null) { ValueResolver = ValueResolverUtility.GetResolver <double>() .TryMemberReference() .TryExpression(); } var context = ValueResolverUtility.CreateContext(this, member); context.AddExpressionParameter <T>("value", () => this.valueExpressionArgument); this.maxValueGetter = ValueResolver.Resolve(context, this.Attribute.Expression, context.Validator.Attribute.MaxValue); }
protected override void Validate(object parentInstance, object memberValue, MemberInfo member, ValidationResult result) { if (this.showMessageGetter.Failed || this.messageGetter.Failed || this.showMessageGetter.Failed) { result.ResultType = ValidationResultType.Error; result.Message = ValueResolverUtility.CombineErrorMessagesWhereFailed(showMessageGetter, messageGetter, detailsGetter); return; } bool hasMessage = this.showMessageGetter.GetValue(parentInstance); if (hasMessage) { result.ResultType = this.Attribute.InfoMessageType.ToValidationResultType(); result.Message = this.messageGetter.GetValue(parentInstance) + "\n\nDETAILS:\n\n" + this.detailsGetter.GetValue(parentInstance); } }
protected override void Validate(object parentInstance, T memberValue, MemberInfo member, ValidationResult result) { if (this.minValueGetter.Failed || this.maxValueGetter.Failed) { result.Message = ValueResolverUtility.CombineErrorMessagesWhereFailed(this.minValueGetter, this.maxValueGetter); result.ResultType = ValidationResultType.Error; return; } this.valueExpressionArgument = memberValue; var min = this.minValueGetter.GetValue(parentInstance); var max = this.maxValueGetter.GetValue(parentInstance); if (!GenericNumberUtility.NumberIsInRange(memberValue, min, max)) { result.Message = "Number is not in range."; result.ResultType = ValidationResultType.Error; } }
public override void Initialize(MemberInfo member, Type memberValueType) { if (ValueResolver == null) { ValueResolver = ValueResolverUtility.GetResolver <double>() .TryMemberReference() .TryExpression(); RangeResolver = ValueResolverUtility.GetValidatorResolver <MinMaxSliderValidator <T>, Vector2>() .TryMemberReference() .TryExpression() .Func(c => new Vector2((float)c.Validator.minValueGetter.GetValue(), (float)c.Validator.maxValueGetter.GetValue())); } var context = ValueResolverUtility.CreateContext(this, member); context.AddExpressionParameter <T>("value", () => this.valueExpressionArgument); this.minValueGetter = ValueResolver.Resolve(context, this.Attribute.MinMember, context.Validator.Attribute.MinValue); this.maxValueGetter = ValueResolver.Resolve(context, this.Attribute.MaxMember, context.Validator.Attribute.MaxValue); this.rangeGetter = RangeResolver.Resolve(context, this.Attribute.MinMaxMember); }
/// <summary> /// Initializes the drawer. /// </summary> protected override void Initialize() { var context = ValueResolverUtility.CreateContext(this); this.minGetter = scalarResolver.Resolve(context, this.Attribute.MinMember, this.Attribute.MinValue); this.maxGetter = scalarResolver.Resolve(context, this.Attribute.MaxMember, this.Attribute.MaxValue); this.rangeGetter = vectorResolver.Resolve(context, this.Attribute.MinMaxMember); this.errorMessage = ValueResolverUtility.CombineErrorMessagesWhereFailed(this.minGetter, this.maxGetter, this.rangeGetter); //MemberInfo member; //// Min member reference. //if (string.IsNullOrEmpty(this.Attribute.MinMember) == false) //{ // if (this.Attribute.MinMember[0] == '$') // { // // Look for an expression. // this.floatMinGetter = new InspectorPropertyValueGetter<float>(this.Property, this.Attribute.MinMember); // } // else if (MemberFinder.Start(this.Property.ParentType) // .IsNamed(this.Attribute.MinMember) // .HasNoParameters() // .TryGetMember(out member, out this.errorMessage)) // { // var type = member.GetReturnType(); // if (type == typeof(int)) // { // this.intMinGetter = new InspectorPropertyValueGetter<int>(this.Property, this.Attribute.MinMember); // } // else if (type == typeof(float)) // { // this.floatMinGetter = new InspectorPropertyValueGetter<float>(this.Property, this.Attribute.MinMember); // } // } //} //// Max member reference. //if (string.IsNullOrEmpty(this.Attribute.MaxMember) == false) //{ // if (this.Attribute.MaxMember[0] == '$') // { // // Look for an expression. // this.floatMaxGetter = new InspectorPropertyValueGetter<float>(this.Property, this.Attribute.MaxMember); // } // else if (MemberFinder.Start(this.Property.ParentType) // .IsNamed(this.Attribute.MaxMember) // .HasNoParameters() // .TryGetMember(out member, out this.errorMessage)) // { // var type = member.GetReturnType(); // if (type == typeof(int)) // { // this.intMaxGetter = new InspectorPropertyValueGetter<int>(this.Property, this.Attribute.MaxMember); // } // else if (type == typeof(float)) // { // this.floatMaxGetter = new InspectorPropertyValueGetter<float>(this.Property, this.Attribute.MaxMember); // } // } //} //// Min max member reference. //if (string.IsNullOrEmpty(this.Attribute.MinMaxMember) == false) //{ // this.vector2MinMaxGetter = new InspectorPropertyValueGetter<Vector2>(this.Property, this.Attribute.MinMaxMember); // if (this.errorMessage != null) // { // this.errorMessage = this.vector2MinMaxGetter.ErrorMessage; // } //} }