public static void PushAll <T>(this IQStack <T> iqStack, IEnumerable enumerable) { foreach (var e in enumerable) { iqStack.Push((T)e); } }
public override BehaviourStatus Run(AITree tree, DataContext dataContext, BehaviourStatus current) { try { IQStack <object> qStack = dataContext[qStackName] as IQStack <object>; dataContext[varName] = qStack.Peek(); return(BehaviourStatus.Success); } catch { return(BehaviourStatus.Failure); } }
public override BehaviourStatus Run(AITree tree, DataContext dataContext, BehaviourStatus current) { try { IQStack <object> qStack = dataContext[qStackName] as IQStack <object>; if (qStack is LoopList <object> ) { dataContext[varName] = ((LoopList <object>)qStack).PopRemove(); } else { dataContext[varName] = qStack.Pop(); } return(BehaviourStatus.Success); } catch { return(BehaviourStatus.Failure); } }