예제 #1
0
        // Processes the next order in the order list.  Checks for validity, then returns the order for loading into the colony or ship.  If invalid, it
        // returns null
        public BaseOrder ProcessOrder()
        {
            if (_orderList.Count == 0)
            {
                return(null);
            }
            BaseOrder order = _orderList.First <BaseOrder>();

            // Check order for validity
            if (order == null)
            {
                return(null);
            }

            _orderList.Remove(order);

            // Check order's IsValid function
            if (!order.isValid())
            {
                return(null);
            }

            return(order);

            //  throw new NotImplementedException();
        }
예제 #2
0
        public void ClearOrders()
        {
            BaseOrder order = _orderList.First <BaseOrder>();

            while (order != null)
            {
                _orderList.Remove(order);
                order = _orderList.First <BaseOrder>();
            }
        }
예제 #3
0
        public void ClearOrders()
        {
            if (_orderList.Count == 0)
            {
                return;
            }
            BaseOrder order = _orderList.First <BaseOrder>();

            while (order != null)
            {
                _orderList.Remove(order);
                order = _orderList.First <BaseOrder>();
            }
        }
예제 #4
0
파일: Player.cs 프로젝트: johny5w/Pulsar4x
        public void ProcessOrders()
        {
            int orders = Orders.Length();

            while (orders > 0)
            {
                BaseOrder nextOrder = Orders.ProcessOrder();
                // Process all the orders
                //@todo - finish
                if (nextOrder != null)
                {
                    Entity owner = nextOrder.Owner;
                    owner.GetDataBlob <ShipInfoDB>().Orders.Enqueue(nextOrder);
                }
                else
                {
                    return;
                }
            }
        }
예제 #5
0
 public void RemoveOrder(BaseOrder order)
 {
     _orderList.Remove(order);
 }