public UIRuleTokenConditionToken CreateConditionToken(EditCondition condition, RectTransform root) { // Find the prefab that supports this condition type var prefab = conditionTokenPrefabs.FirstOrDefault(cond => cond.conditionTypes.Contains(condition.type)); if (prefab != null) { // Create the UI var uitoken = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, root); uitoken.Setup(condition); return(uitoken); } else { return(null); } }
public override object EditValue(ITypeDescriptorContext context, System.IServiceProvider provider, object value) { if (value == null) { throw new Exception("The property value must be different to null."); } var svc = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; var codes = value as string; if (svc != null && codes != null) { DrawableObject obj = context.Instance as DrawableObject; DrawingSheet sheet = obj.OwnerDraw.OwnerSheet; using (var form = new EditCondition(VariableCollection.GetConditionDictionary(sheet), codes)) { if (svc.ShowDialog(form) == DialogResult.OK) { value = form.Condition; } } } return(value); }
void OnConditionChange(EditRule rule, EditCondition condition) { base.pageDirty = true; }
public override void Setup(EditCondition condition) { ruleText.text = condition.ToString(); }