示例#1
0
    List <BuildQueueSet> GetBuildQueue()
    {
        List <BuildQueueSet> returnQueue = new List <BuildQueueSet>();
        BuildQueueSet        bqs         = new BuildQueueSet(_player, _maxQueueSize);

        //Debug.Log($"Queue has {_queue.Count}");
        foreach (dStructurePlacement dsp in _queue)
        {
            if (!bqs.CanAddToSet(dsp))
            {
                returnQueue.Add(bqs);
                bqs = new BuildQueueSet(_player, _maxQueueSize);
            }
            if (bqs.CanAddToSet(dsp))
            {
                bqs.AddToSet(dsp);
            }
        }
        if (!returnQueue.Contains(bqs))
        {
            returnQueue.Add(bqs);
        }
        //Debug.Log($"There are {returnQueue.Count} sets in the queue");
        //for (int i = 0; i < returnQueue.Count; i++)
        //{
        //    Debug.Log($"{returnQueue[i]._set.Count} in set {i}");
        //}
        return(returnQueue);
    }
示例#2
0
    public void Build()
    {
        List <BuildQueueSet> setQueue = GetBuildQueue();

        if (setQueue.Count > 0)
        {
            BuildQueueSet bqs   = setQueue[0];
            bool          built = bqs.Build();
            Debug.Log("Built " + (built ? "successfully" : "uncusessfully"));
        }
    }