Пример #1
0
    void PlaceBuilding()
    {
        if (objectOnGrid && !collidingWithObject)
        {
            for (int i = 0; i < materials_color.Length; i++)
            {
                GetComponent <Renderer>().sharedMaterials[i].color = Color.green; //turns the building into green
            }

            if (Input.GetKeyDown(KeyCode.Mouse0))
            {
                transform.position = new Vector3(transform.position.x, hit.transform.position.y + height, transform.position.z);

                for (int i = 0; i < materials_color.Length; i++)
                {
                    GetComponent <Renderer>().sharedMaterials[i].color = materials_color[i]; //gives it's normal material back
                }

                gamemanager_script.setBuildMode(false); //sets build mode false;
                gameObject.layer = 0;                   //gives back it's normal layer. Rays won't go through this object from now on.
                Destroy(this);                          //destroys this script
                gridSystem.SetGridDefault();
            }
        }
        else
        {
            for (int i = 0; i < materials_color.Length; i++)
            {
                GetComponent <Renderer>().sharedMaterials[i].color = Color.red; //turns the building into red
            }
        }
    }
Пример #2
0
    public void onClick()
    {
        bool subtracted = FindObjectOfType <ResourceHolder>().SubtractResources(buildingWoodAmount, buildingStoneAmount, buildingCrystalAmount);

        if (subtracted)
        {
            Instantiate(spawns);
            gamemanager_script.setBuildMode(true);
        }
        else
        {
            Debug.Log("You don't have enough resources to build this building.");
        }
    }