Esempio n. 1
0
    bool CheckAllMachines()
    {
        int production = 0;
        int rawmat     = 0;
        int disposal   = 0;

        for (int i = 0; i < grid.GetHeight(); i++)
        {
            for (int j = 0; j < grid.GetWidth(); j++)
            {
                GridTile tile = grid.GetGrid(i, j);

                if (tile.UpgradeSection == "Production")
                {
                    production++;
                }
                else if (tile.UpgradeSection == "Disposal")
                {
                    disposal++;
                }
                else if (tile.UpgradeSection == "RawMaterial")
                {
                    rawmat++;
                }
            }
        }
        if (production != 0 && disposal != 0 && rawmat != 0)
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
Esempio n. 2
0
    //void UseProductionMachines()
    //{
    //    totalRawMat = rawMats.Count;
    //    int perMachine = Mathf.FloorToInt( totalRawMat / productionTiles.Count) ;
    //    int remainder = (int)totalRawMat % (int)productionTiles.Count;
    //    Debug.Log(perMachine + "total " + totalRawMat + " " + productionTiles.Count + " " + remainder);
    //    float totalSales = 0;

    //    GameManager gm = FindObjectOfType<GameManager>();

    //    for (int i = 0; i < productionTiles.Count; i++)
    //    {
    //        for(int j =0; j < perMachine; j++)
    //        {
    //            totalSales += rawMats[0].itemQuantity + gm.sellPrice;

    //            rawMats[0].ResetTile();
    //            Destroy(rawMats[0].gameObject.transform.GetChild(0).gameObject);
    //            rawMats.RemoveAt(0);
    //            // totalSales += productionTiles[i].itemQuantity * perMachine;
    //        }
    //    }
    //    if(remainder == 1)
    //    {
    //        totalSales += rawMats[0].itemQuantity + gm.sellPrice;

    //        rawMats[0].ResetTile();
    //        Destroy(rawMats[0].gameObject.transform.GetChild(0).gameObject);
    //        rawMats.RemoveAt(0);
    //        //totalSales += productionTiles[0].itemQuantity * remainder;
    //    }
    //    GameManager gameManager = FindObjectOfType<GameManager>();
    //    gameManager.UpdateMoney(totalSales);
    //}

    //void UseDisposal()
    //{
    //     int perMachine = Mathf.FloorToInt(totalRawMat / DisposalTiles.Count);
    //     int remainder = (int)totalRawMat % (int)DisposalTiles.Count;

    //    //add up percentages on disposal machines

    //    for (int i = 0; i < DisposalTiles.Count; i++)
    //    {
    //        //calculated the percentage chance of raw material
    //        for (int j = 0; j < perMachine; j++)
    //        {
    //            float percentageChance = (DisposalTiles[i].itemQuantity / 100);

    //            if(Random.value > percentageChance)
    //            {
    //                //waste
    //                GridTile gridTile = FindEmpty();
    //                gridTile.occupied = true;
    //                gridTile.itemQuantity = 1;
    //                gridTile.UpgradeSection = "Waste";
    //                Instantiate(waste, gridTile.transform);
    //            }
    //            else
    //            {
    //                //raw material
    //                GridTile gridTile = FindEmpty();
    //                gridTile.occupied = true;
    //                gridTile.itemQuantity = 1;
    //                //gridTile.tileUpgradeName = "RawMaterial";
    //                gridTile.UpgradeSection = "RawMaterial";
    //                // gridTile.transform.position;
    //                Instantiate(rawMat, gridTile.transform);

    //            }


    //        }

    //    }
    //    if (remainder == 1)
    //    {
    //        float percentageChance = (DisposalTiles[0].itemQuantity / 100);

    //        if (Random.value > percentageChance)
    //        {
    //            //waste
    //            GridTile gridTile = FindEmpty();
    //            gridTile.occupied = true;
    //            gridTile.itemQuantity = 1;
    //            gridTile.UpgradeSection = "Waste";
    //            Instantiate(waste, gridTile.transform);
    //        }
    //        else
    //        {
    //            //raw material
    //            GridTile gridTile = FindEmpty();
    //            gridTile.occupied = true;
    //            gridTile.itemQuantity = 1;
    //            //gridTile.tileUpgradeName = "RawMaterial";
    //            gridTile.UpgradeSection = "RawMaterial";
    //            // gridTile.transform.position;
    //            Instantiate(rawMat, gridTile.transform);

    //        }
    //    }

    //}

    GridTile FindEmpty()
    {
        for (int i = 0; i < grid.GetHeight(); i++)
        {
            for (int j = 0; j < grid.GetWidth(); j++)
            {
                GridTile tile = grid.GetGrid(i, j);
                if (!tile.occupied && tile.factorySection == "Storage")
                {
                    return(tile);
                }
            }
        }

        //no empty ones
        return(null);
    }
Esempio n. 3
0
 GridTile FindTile()
 {
     grid = FindObjectOfType <GenerateGrid>();
     if (activeUpgrade.itemSection == "RawMaterial")
     {
         for (int i = 0; i < grid.GetHeight(); i++)
         {
             for (int j = 0; j < grid.GetWidth(); j++)
             {
                 GridTile tile = grid.GetGrid(i, j);
                 if (tile.factorySection == "Storage")
                 {
                     if (tile.occupied == false)
                     {
                         return(tile);
                     }
                 }
             }
         }
     }
     else if (activeUpgrade.itemSection == "Production" || activeUpgrade.itemSection == "Disposal")
     {
         for (int i = 0; i < grid.GetHeight(); i++)
         {
             for (int j = 0; j < grid.GetWidth(); j++)
             {
                 GridTile tile = grid.GetGrid(i, j);
                 if (tile.factorySection == "Factory")
                 {
                     if (tile.occupied == false)
                     {
                         return(tile);
                     }
                 }
             }
         }
     }
     return(null);
 }
Esempio n. 4
0
 void CountEmptyFactory()
 {
     grid = FindObjectOfType <GenerateGrid>();
     for (int i = 0; i < grid.GetHeight(); i++)
     {
         for (int j = 0; j < grid.GetWidth(); j++)
         {
             GridTile tile = grid.GetGrid(i, j);
             if (tile.factorySection == "Factory")
             {
                 if (!tile.occupied)
                 {
                     factoryFree++;
                 }
             }
         }
     }
 }
Esempio n. 5
0
    public void CheckTiles()
    {
        if (FindObjectOfType <GameManager>().tutorialActive)
        {
            //GridTile[,] gridTiles = new GridTile[grid.GetHeight(), grid.GetWidth()];
            //   gridTiles = grid.GetGrid();
            int disposal    = 0;
            int rawMaterial = 0;
            int production  = 0;

            for (int i = 0; i < grid.GetHeight(); i++)
            {
                for (int j = 0; j < grid.GetWidth(); j++)
                {
                    if (grid.GetGrid(i, j).UpgradeSection == "Disposal")
                    {
                        disposal++;
                    }
                    else if (grid.GetGrid(i, j).UpgradeSection == "RawMaterial")
                    {
                        rawMaterial++;
                    }
                    else if (grid.GetGrid(i, j).UpgradeSection == "Production")
                    {
                        production++;
                    }
                }
            }
            if (disposal > 0 && rawMaterial > 0 && production > 0)
            {
                GetComponent <Button>().interactable = true;
            }
            else
            {
                GetComponent <Button>().interactable = false;
            }
        }
    }