protected bool Dequeue(StackOrder order, out T element) { if (this.Count == 0) { element = default(T); return(false); } lock (this.syncRoot) { switch (order) { case StackOrder.Peek: { element = this.bag.Peek(); break; } default: case StackOrder.Pop: { element = this.bag.Pop(); break; } } this.onDequeue.Invoke(this, (StackQueueEventArgs)StackQueueEventArgs.Empty); return(element.Equals(default(T)) == false); } }
private void Awake() { stack = GameObject.FindObjectOfType <StackOrder>(); }