public override string Summary() { var graph = transition.nest.graph; if (graph != null) { if (!StringUtility.IsNullOrWhiteSpace(graph.summary)) { return(graph.summary); } using (var recursion = Recursion.New(1)) { var events = graph.GetUnitsRecursive(recursion).OfType <IEventUnit>().ToList(); if (events.Count == 0) { return("Open the transition graph to add an event."); } else if (events.Count == 1) { return(events[0].Description().summary); } else // if (events.Count > 1) { return("Open the transition graph to see the full transition."); } } } else { return("Choose a source in the graph inspector."); } }
public override EditorTexture Icon() { var graph = transition.nest.graph; using (var recursion = Recursion.New(1)) { if (graph != null) { var events = graph.GetUnitsRecursive(recursion).OfType <IEventUnit>().ToList(); if (events.Count == 1) { return(events[0].Description().icon); } else { return(typeof(IStateTransition).Icon()); } } else { return(typeof(IStateTransition).Icon()); } } }
protected virtual bool IsEntered() { using (var recursion = Recursion.New(1)) { return(IsEntered(state, recursion)); } }
public override string Title() { var graph = transition.nest.graph; if (graph != null) { if (!StringUtility.IsNullOrWhiteSpace(graph.title)) { return(graph.title); } using (var recursion = Recursion.New(1)) { var events = graph.GetUnitsRecursive(recursion).OfType <IEventUnit>().ToList(); if (events.Count == 0) { return("(No Event)"); } else if (events.Count == 1) { return(events[0].Description().title); } else // if (events.Count > 1) { return("(Multiple Events)"); } } } else { return("(No Transition)"); } }
protected bool IsEntered() { using (var recursion = Recursion.New(1)) { return(IsEntered(unit, recursion)); } }
protected override IEnumerable <Warning> Warnings() { foreach (var baseWarning in base.Warnings()) { yield return(baseWarning); } var graph = transition.nest.graph; if (graph == null) { yield break; } using (var recursion = Recursion.New(1)) { if (!graph.GetUnitsRecursive(recursion).OfType <IEventUnit>().Any()) { yield return(Warning.Caution("Transition graph is missing an event.")); } } using (var recursion = Recursion.New(1)) { if (!graph.GetUnitsRecursive(recursion).OfType <TriggerStateTransition>().Any()) { yield return(Warning.Caution("Transition graph is missing a trigger unit.")); } } }
public static IEnumerable <string> GetScriptGuids(Type type) { EnsureAnalyzed(); using (var recursion = Recursion.New(1)) { return(GetScriptGuids(recursion, type).ToArray()); // No delayed execution for recursion disposal } }
public static IEnumerable <string> GetScriptGuids(Type type) { if (typesToGuids == null) { UpdateTypeMappings(); } using (var recursion = Recursion.New(1)) { return(GetScriptGuids(recursion, type).ToArray()); // No delayed execution for recursion disposal } }
protected override bool IsTraversed() { var graph = transition.nest.graph; if (graph == null) { return(false); } using (var recursion = Recursion.New(1)) { foreach (var trigger in graph.GetUnitsRecursive(recursion).OfType <TriggerStateTransition>()) { if (trigger.Analysis <UnitAnalysis>(context).isEntered) { return(true); } } } return(false); }
void IPoolable.New() { disposed = false; recursion = Recursion <RecursionNode> .New(); }