Beispiel #1
0
        public Building Build(Hexagon hex, GameObject buildingPrefab, bool ignoresTower = false)
        {
            Building building = buildingPrefab.GetComponent <Building>();

            if (player.RAM >= building.Maintenance &&
                player.CPU >= building.Cost)
            {
                player.CPU -= building.Cost;
                hex.Build(buildingPrefab);
                hex.building.player = player;
                if (hex.building.GetComponent <MarkReceptor>())
                {
                    hex.building.GetComponent <MarkReceptor>().toggleList = player.GetComponent <MarkToggleList>();
                }

                if (!ignoresTower && building.kind == "tower")
                {
                    player.onTower = hex.building;
                }
                return(hex.building);
            }
            else
            {
                return(null);
            }
        }
        /* Use this for initialization
         * void Start()
         * {
         *
         * }*/

        // Update is called once per frame
        void Update()
        {
            if (Physics.Raycast(mainCamera.ScreenToWorldPoint(Input.mousePosition), mainCamera.transform.forward, out hit) && hit.collider.GetComponent <Hexagon>() && hit.collider.GetComponent <Hexagon>().Visible)
            {
                mouseHex = hit.collider.GetComponent <Hexagon>();

                if (Input.GetMouseButtonDown(0) && mouseBuildingPrefab && !mouseHex.building)
                {
                    mouseHex.Build(mouseBuildingPrefab);
                }

                if (Input.GetMouseButtonDown(1) && !mouseBuildingPrefab)
                {
                    mouseHex.Empty();
                }
                if (mouseHex.building)
                {
                    mouseBuildingSprite.color = Color.red;
                }
                else
                {
                    mouseBuildingSprite.color = Color.white;
                }
                mouseBuildingSprite.enabled                 = true;
                mouseBuildingSprite.transform.parent        = mouseHex.transform;
                mouseBuildingSprite.transform.localPosition = Vector3.zero;
            }
            else
            {
                mouseHex = null;
            }

            mouseBuildingSprite.sprite = mouseBuildingPrefab ? mouseBuildingPrefab.GetComponent <SpriteRenderer>().sprite : null;
        }