Beispiel #1
0
    /// <summary>
    /// 从队列中移除
    /// </summary>
    /// <param name="productionItem"></param>
    private void RemoveFromQueue(ProductionItemVO productionItem)
    {
        var model = DataCenter.Instance.FindEntityModelById(productionItem.cid);

        CurrentQueueSize -= GetProductionUseQueueSize(model) * productionItem.count;
        totalTime        -= GetProductionTime(model) * productionItem.count;

        for (int i = 0; i < ProductionItems.Count; i++)
        {
            if (ProductionItems[i].cid == productionItem.cid)
            {
                ProductionItems[i].count -= productionItem.count;
                if (ProductionItems[i].count <= 0)
                {
                    ProductionItems.RemoveAt(i);
                }
                return;
            }
        }
        Assert.Fail("Should not reach here");
    }