public virtual void Visit(RSActionData inActionData, TableLineRef inSourceRef) { if (inActionData == null) { return; } inSourceRef = inSourceRef.CombineEnabled(inActionData.Enabled); Visit(inActionData.Action, EntityScopedIdentifier.Type.Action, inSourceRef); if (inActionData.Arguments != null) { for (int i = 0; i < inActionData.Arguments.Length; ++i) { Visit(inActionData.Arguments[i], inSourceRef); } } }
public virtual bool Visit(RSActionData ioActionData) { if (ioActionData == null) { return(false); } bool bChanged = Visit(ref ioActionData.Action, EntityScopedIdentifier.Type.Action); if (ioActionData.Arguments != null) { for (int i = 0; i < ioActionData.Arguments.Length; ++i) { Visit(ioActionData.Arguments[i]); } } return(bChanged); }
static private RuleFlags GetRuleFlags(RSActionData inActionData, RSLibrary inLibrary) { RuleFlags flags = 0; if (inActionData.Enabled) { flags |= GetRuleFlags(inActionData.Action.Scope, inLibrary); flags |= GetRuleFlags(inLibrary.GetAction(inActionData.Action.Id)); if (inActionData.Arguments != null) { foreach (var arg in inActionData.Arguments) { flags |= GetRuleFlags(arg, inLibrary); } } } return(flags); }