コード例 #1
0
        /// <summary>
        /// adds a new element to the list
        /// </summary>
        /// <param name="element"></param>
        public void Add(IActionQueueElement element)
        {
            if (element != null)
            {
                _list.Add(element);

                element.OnStart();
            }
        }
コード例 #2
0
		/// <summary>
		/// adds a new element to the list
		/// </summary>
		/// <param name="element"></param>
		public void Add(IActionQueueElement element)
		{
			if (element != null)
			{
				_list.Add(element);

				element.OnStart();
			}
		}
コード例 #3
0
        /// <summary>
        /// calls OnExit on the current element and clears all entries from the queue
        /// </summary>
        public void Clear()
        {
            if (_queue.Count > 0)
            {
                IActionQueueElement currentElement = _queue.Peek();
                currentElement.OnExit();

                _queue.Clear();
            }
        }
コード例 #4
0
        /// <summary>
        /// adds a new element to the back of the queue
        /// </summary>
        /// <param name="element"></param>
        public void Add(IActionQueueElement element)
        {
            if (element != null)
            {
                _queue.Enqueue(element);

                if (_queue.Count == 1)
                {
                    element.OnStart();
                }
            }
        }
コード例 #5
0
		/// <summary>
		/// adds a new element to the back of the queue
		/// </summary>
		/// <param name="element"></param>
		public void Add(IActionQueueElement element)
		{
			if (element != null)
			{
				_queue.Enqueue(element);

				if (_queue.Count == 1)
				{
					element.OnStart();
				}
			}
		}
コード例 #6
0
        // ================================================================================
        //  public methods
        // --------------------------------------------------------------------------------

        /// <summary>
        /// should be called every frame by parent object
        /// </summary>
        public void Update()
        {
            if (_queue.Count == 0)
            {
                return;
            }

            IActionQueueElement currentElement = _queue.Peek();

            currentElement.Update();

            if (currentElement.hasEnded)
            {
                currentElement.OnExit();
                _queue.Dequeue();

                if (_queue.Count > 0)
                {
                    currentElement = _queue.Peek();
                    currentElement.OnStart();
                }
            }
        }