internal ActionVisualizer FindActionVisualizer(IAction target) { ActionVisualizer result = null; var selectorCount = _selectorVisualizers.Count; for (int i = 0; i < selectorCount; i++) { var s = _selectorVisualizers[i]; var qualiferCount = s.qualifiers.Count; for (int j = 0; j < qualiferCount; j++) { var q = (IQualifierVisualizer)s.qualifiers[j]; if (TryFindActionVisualizer(q.action, target, out result)) { return(result); } } if (TryFindActionVisualizer(s.defaultQualifier.action, target, out result)) { return(result); } } return(null); }
internal QualifierVisualizer(IQualifier q, SelectorVisualizer parent) { this._qualifier = q; this._parent = parent; SelectorAction selectorAction = q.action as SelectorAction; AILinkAction aILinkAction = q.action as AILinkAction; CompositeAction compositeAction = q.action as CompositeAction; IRequireTermination requireTermination = q.action as IRequireTermination; if (selectorAction != null) { this._action = new SelectorActionVisualizer(selectorAction, this); return; } if (aILinkAction != null) { this._action = new AILinkActionVisualizer(aILinkAction, this); return; } if (compositeAction != null) { this._action = new CompositeActionVisualizer(compositeAction, this); return; } if (requireTermination != null) { this._action = new ActionRequiresTerminationVisualizer(q.action, this); return; } if (q.action != null) { this._action = new ActionVisualizer(q.action, this); } }
private static bool TryFindActionVisualizer(IAction source, IAction target, out ActionVisualizer result) { result = null; ActionVisualizer actionVisualizer = source as ActionVisualizer; if (actionVisualizer == null) { return(false); } if (actionVisualizer.action == target) { result = actionVisualizer; return(true); } ICompositeVisualizer compositeVisualizer = actionVisualizer as ICompositeVisualizer; if (compositeVisualizer == null) { return(false); } int count = compositeVisualizer.children.Count; for (int i = 0; i < count; i++) { if (UtilityAIVisualizer.TryFindActionVisualizer(compositeVisualizer.children[i] as IAction, target, out result)) { return(true); } } return(false); }
internal QualifierVisualizer(IQualifier q, SelectorVisualizer parent) { _qualifier = q; _parent = parent; var selectorAction = q.action as SelectorAction; var linkAction = q.action as AILinkAction; var compAction = q.action as CompositeAction; var irt = q.action as IRequireTermination; if (selectorAction != null) { _action = new SelectorActionVisualizer(selectorAction, this); } else if (linkAction != null) { _action = new AILinkActionVisualizer(linkAction, this); } else if (compAction != null) { _action = new CompositeActionVisualizer(compAction, this); } else if (irt != null) { _action = new ActionRequiresTerminationVisualizer(q.action, this); } else if (q.action != null) { _action = new ActionVisualizer(q.action, this); } }
internal ActionVisualizer FindActionVisualizer(IAction target) { ActionVisualizer actionVisualizer = null; int count = this._selectorVisualizers.Count; for (int i = 0; i < count; i++) { SelectorVisualizer item = this._selectorVisualizers[i]; int num = item.qualifiers.Count; for (int j = 0; j < num; j++) { if (UtilityAIVisualizer.TryFindActionVisualizer(((IQualifierVisualizer)item.qualifiers[j]).action, target, out actionVisualizer)) { return(actionVisualizer); } } if (UtilityAIVisualizer.TryFindActionVisualizer(item.defaultQualifier.action, target, out actionVisualizer)) { return(actionVisualizer); } } return(null); }
private static bool TryFindActionVisualizer(IAction source, IAction target, out ActionVisualizer result) { result = null; var av = source as ActionVisualizer; if (av == null) { return(false); } if (ReferenceEquals(av.action, target)) { result = av; return(true); } var cav = av as ICompositeVisualizer; if (cav == null) { return(false); } int count = cav.children.Count; for (int i = 0; i < count; i++) { if (TryFindActionVisualizer(cav.children[i] as IAction, target, out result)) { return(true); } } return(false); }