Example #1
0
    //spawn houses
    void spawnHouses()
    {
        //spawn houses
        while (startingNumberOfHouses > 0)
        {
            // Makes things more random APPARENTLY
            Random.InitState((int)System.DateTime.Now.Ticks);

            //assign x position a random number for spawn
            xPos = Random.Range(offsetDistance + 2, (int)startingWidth + 1);

            //assign y position a random number for spawn
            yPos = Random.Range(offsetDistance + 3, (int)startingHeight - 1);

            //determine if generated position is empty
            if (BuildFunctions.IsGridSpaceEmpty(new Vector3(xPos, yPos, 0)))
            {
                //determine if position already has an instance next to it
                if (BuildFunctions.CheckSurroundingGridSpaces(new Vector3(xPos, yPos, 0), house))
                {
                    //create instance
                    Instantiate(house, new Vector3(xPos, yPos, 0), transform.rotation);

                    //set space in grid
                    BuildFunctions.SetGridSpace(house, new Vector3(xPos, yPos, 0));

                    //decrement counter
                    startingNumberOfHouses--;

                    houseAmount++;
                }
            }
        }
    }
Example #2
0
    //spawn trees
    void spawnTrees()
    {
        //spawn trees
        while (startingNumberOfTrees > 0)
        {
            //assign x position a random number for spawn
            xPos = Random.Range(offsetDistance + 2, maxWidth);

            //assign y position a random number for spawn
            yPos = Random.Range(offsetDistance + 3, maxHeight);

            //determine if generated position is empty
            if (BuildFunctions.IsGridSpaceEmpty(new Vector3(xPos, yPos, 0)))
            {
                //determine if position already has an instance next to it
                if (BuildFunctions.CheckSurroundingGridSpaces(new Vector3(xPos, yPos, 0), tree))
                {
                    //create instance
                    Instantiate(tree, new Vector3(xPos, yPos, 0), transform.rotation);

                    //set space in grid
                    BuildFunctions.SetGridSpace(tree, new Vector3(xPos, yPos, 0));

                    //decrement counter
                    startingNumberOfTrees--;
                }
            }
        }
    }
Example #3
0
    // Update is called once per frame
    void Update()
    {
        //check if mouse is on screen
        if (Helper.IsMouseOnScreen())
        {
            transform.position = new Vector3(Helper.getMousePositionFromWorldRounded().x, Helper.getMousePositionFromWorldRounded().y, 0);

            if (BuildFunctions.areGridSpacesEmpty(Helper.getMousePositionFromWorldRounded()))
            {
                sprRend.color = new Color(1, 1, 1, transLevel);
            }
            else
            {
                sprRend.color = new Color(1, 0, 0, transLevel);
            }


            switch (BuildFunctions.menuSelection)
            {
            case (0):
                sprRend.sprite       = electricPole.GetComponent <SpriteRenderer>().sprite;
                transform.localScale = new Vector3(.1f, .1f, 1);
                break;

            case (2):
                sprRend.sprite       = solarPanel.GetComponent <SpriteRenderer>().sprite;
                transform.localScale = new Vector3(.1f, .1f, .1f);
                break;

            case (3):
                sprRend.sprite       = windTurbine.GetComponent <SpriteRenderer>().sprite;
                transform.localScale = new Vector3(.3f, .3f, .1f);
                break;

            case (4):
                sprRend.sprite       = coalPlant.GetComponent <SpriteRenderer>().sprite;
                transform.localScale = new Vector3(.3f, .3f, .1f);
                break;

            case (5):
                sprRend.sprite       = gasPlant.GetComponent <SpriteRenderer>().sprite;
                transform.localScale = new Vector3(.2f, .2f, .1f);
                break;

            default:
                sprRend.sprite = null;
                break;
            }
        }
    }
Example #4
0
    private void Start()
    {
        currency = startingCurrency;

        build   = FindObjectOfType <BuildFunctions>();
        coal    = coalReference.GetComponent <CoalScript>();
        turbine = turbineReference.GetComponent <TurbineScript>();
        gas     = gasReference.GetComponent <NaturalGasScript>();
        solar   = solarReference.GetComponent <SolarScript>();



        TriggerEvent();
        if (excessPowerGrowth < 1)
        {
            excessPowerGrowth = 1;
        }
    }
Example #5
0
    public void spawnMoreHouses(int housesToBeAdded)
    {
        int limiter = 50;

        while (housesToBeAdded > 0)
        {
            //determine the amount of usable gridspaces
            currentWidth  = mainCamera.ScreenToWorldPoint(new Vector3(mainCamera.pixelWidth, mainCamera.pixelHeight, 0)).x - .5f;
            currentHeight = mainCamera.ScreenToWorldPoint(new Vector3(mainCamera.pixelWidth, mainCamera.pixelHeight, 0)).y - .5f;



            //assign x position a random number for spawn
            xPos = Random.Range(offsetDistance + 2, (int)currentWidth + 1);

            //assign y position a random number for spawn
            yPos = Random.Range(offsetDistance + 3, (int)currentHeight);

            //determine if generated position is empty
            if (BuildFunctions.IsGridSpaceEmpty(new Vector3(xPos, yPos, 0)))
            {
                //determine if position already has an instance next to it
                if (BuildFunctions.CheckSurroundingGridSpaces(new Vector3(xPos, yPos, 0), house))
                {
                    //create instance
                    Instantiate(house, new Vector3(xPos, yPos, 0), transform.rotation);

                    //set space in grid
                    BuildFunctions.SetGridSpace(house, new Vector3(xPos, yPos, 0));

                    houseAmount++;
                    housesToBeAdded--;
                }
            }

            limiter--;
            if (limiter <= 0)
            {
                break;
            }
        }
    }
Example #6
0
    public void removeHouses(int housesToBeRemoved)
    {
        int limiter = 50;

        while (housesToBeRemoved > 0)
        {
            var objects     = GameObject.FindGameObjectsWithTag("house");
            var objectCount = objects.Length;
            for (int i = 0; i < objectCount; i++)
            {
                if (objects[i].GetComponent <HomeScript>().neededPower != objects[i].GetComponent <HomeScript>().MaxneededPower)
                {
                    //house
                    BuildFunctions.ClearGridSpace(new Vector3(objects[i].transform.position.x, objects[i].transform.position.y, 0));
                    BuildFunctions.RemoveLines(new Vector3(objects[i].transform.position.x, objects[i].transform.position.y, 0));

                    houseAmount--;
                    housesToBeRemoved--;
                }

                if (housesToBeRemoved <= 0)
                {
                    break;
                }
            }


            limiter--;
            if (limiter <= 0)
            {
                break;
            }
        }

        if (housesToBeRemoved > 0)
        {
            while (housesToBeRemoved > 0)
            {
                var objects     = GameObject.FindGameObjectsWithTag("house");
                var objectCount = objects.Length;
                for (int i = 0; i < objectCount; i++)
                {
                    //house
                    BuildFunctions.ClearGridSpace(new Vector3(objects[i].transform.position.x, objects[i].transform.position.y, 0));
                    BuildFunctions.RemoveLines(new Vector3(objects[i].transform.position.x, objects[i].transform.position.y, 0));
                    houseAmount--;
                    housesToBeRemoved--;


                    if (housesToBeRemoved <= 0)
                    {
                        break;
                    }
                }


                limiter--;
                if (limiter <= 0)
                {
                    break;
                }
            }
        }
        BuildFunctions.simulationReset = false;
    }