//changes the current order
    void NewOrder()
    {
        bool foundOrder = false;
        int  orderIndex = 0;

        while (!foundOrder)
        {
            //pick a random index
            int random = Random.Range(0, orders.Length);

            //check if that index is used
            if (!usedOrders.Contains(random))
            {
                //if its not used, you found an order
                foundOrder = true;
                orderIndex = random;
                usedOrders.Add(random);
            }
            //if you have used all the possible indexes
            if (usedOrders.Count == orders.Length)
            {
                //reset list
                usedOrders = new List <int>();

                foundOrder = true;
                orderIndex = random;
                usedOrders.Add(random);
            }
        }

        //set current order
        currentOrder = orders[orderIndex];
        DisplayOrder(orderIndex);
        orderActive = true;
    }
Example #2
0
    public void setCraft(GameObject verstack, CraftOrder slot)
    {
        this.verstack = verstack;
        this.slot     = slot;

        iswall = true;
    }
Example #3
0
        protected void DefineTender(float volume, AllProduction requirement)
        {
            CraftOrder tender;

            if (!CheckTenderExists(volume, requirement))
            {
                // Item2 - цена продажи на глобальный рынок, она всегда ниже.
                // Разумеется, потребитель хочет получить товар по этой цене или даже ниже.
                tender = new CraftOrder(Economic.Id, requirement, volume, GlobalPriceTable.PriceOf[requirement].Item2 * volume);
            }
        }
Example #4
0
    public void StartCraft(GameObject verstak, CraftOrder slotCraft)
    {
        //Debug.Log("Start Craft " + verstak.name);
        bool isfind = false;

        foreach (var item in cityWorkers)
        {
            if (!isfind)
            {
                if (!item.GetComponent <WorkerController>().isbusy)
                {
                    item.GetComponent <WorkerController>().isbusy = true;
                    item.GetComponent <WorkerController>().setCraft(verstak, slotCraft);
                    isfind = true;
                }
            }
        }
        if (!isfind)
        {
            Debuglog("Нет свободных рабочих");
        }
    }