Beispiel #1
0
    public void SetTarget(ClickTile _target)
    {
        if (_target.name == "TileShipYardPlayer1" || _target.name == "TileShipYardPlayer2")
        {
            this.target = _target;
            Vector3 newPosition = new Vector3(target.transform.position.x - 0.5f, target.transform.position.y + 0.5f, target.transform.position.z);
            this.transform.position = newPosition;

            SetUiComponents(true);
        }
    }
Beispiel #2
0
    // Spawn visual tiles
    private void GenerateMapVisuals()
    {
        for (int x = 0; x < mapSizeX; x++)
        {
            for (int z = 0; z < mapSizeZ; z++)
            {
                TileType tt = tileTypes[tiles[x, z]];

                GameObject go = (GameObject)Instantiate(tt.tilePrefab, new Vector3(x, 0, z), Quaternion.identity); // Tile
                go.name             = go.name.Remove(go.name.Length - 7);                                          // Remove "(Clone)" from Tile
                go.transform.parent = parentFolder.transform;

                ClickTile ct = go.GetComponent <ClickTile>();
                ct.tileX = x;
                ct.tileZ = z;
                ct.map   = this;
            }
        }
    }
Beispiel #3
0
 void Start()
 {
     this.click = this.GetComponent <ClickTile>();
 }
 public void SelectTile(ClickTile getTile)
 {
     selectedTile = getTile;
     buildingTileUI.SetTarget(selectedTile);
     shipyardTileUI.SetTarget(selectedTile);
 }
Beispiel #5
0
    // Update is called once per frame
    void Update()
    {
        if (buildingTileUI == null || shipyardTileUI == null)
        {
            reassignGameObjs();
        }

        ClearHoverSelection();
        Ray ray = _Camera.ScreenPointToRay(Input.mousePosition);

        RaycastHit hitInfo;

        if (Physics.Raycast(ray, out hitInfo))
        {
            hitObject = hitInfo.collider.transform.gameObject; // Works for tiles inside parent Folder

            if (hitObject.name == "FleetMesh")
            {
                hitObject = hitObject.transform.parent.gameObject;
            }
            HoverObject(hitObject);
        }
        else
        {
            ClearHoverSelection();
        }

        // Select objects by cklicking (on a hovered over Object)
        if (Input.GetMouseButton(0))
        {
            try
            {
                // Hide Building Ui Panel
                if (hitObject.name != "TileConstruction_P1" && hitObject.name != "TileConstruction_P2")
                {
                    buildingTileUI.Hide();
                }
                // Hide Shipyard Ui Panel
                if (hitObject.name != "TileShipYardPlayer1" && hitObject.name != "TileShipYardPlayer2")
                {
                    shipyardTileUI.Hide();
                }

                if (hitObject.name == "NextTurnBTN2")
                {
                    ClearSelectedSelection();
                }
                else
                {
                    GetPlayer();
                    int playerNumber = (int)char.GetNumericValue(hoverObject.name[hoverObject.name.Length - 1]);

                    if (hoverObject.name.Contains("_P1") && hoverObject.name.Contains("Fleet") && activePlayer == 1)
                    {
                        CommandBatchSelectObj();
                    }
                    else if (hoverObject.name.Contains("_P2") && hoverObject.name.Contains("Fleet") && activePlayer == 2)
                    {
                        CommandBatchSelectObj();
                    }

                    if ((playerNumber == activePlayer) && !hoverObject.name.Contains("Fleet"))
                    {
                        CommandBatchSelectObj();
                    }
                }

                if (hitObject.name == "BTN_Factory")
                {
                    clickTile = selectedObject.GetComponent <ClickTile>();
                    clickTile.BuildFactoryOnTile();
                }
                else if (hitObject.name == "BTN_Turret")
                {
                    clickTile = selectedObject.GetComponent <ClickTile>();
                    clickTile.BuildTurretOnTile();
                }
                else if (hitObject.name == "BTN_Solar")
                {
                    clickTile = selectedObject.GetComponent <ClickTile>();
                    clickTile.BuildSolarOnTile();
                }
                else if (hitObject.name == "BTN_Fighter")
                {
                    clickTile = selectedObject.GetComponent <ClickTile>();
                    if (activePlayer == 1)
                    {
                        clickTile.BuildFighterOnTile(90);
                    }
                    else
                    {
                        clickTile.BuildFighterOnTile(-90);
                    }
                }
                else if (hitObject.name == "BTN_Bomber")
                {
                    clickTile = selectedObject.GetComponent <ClickTile>();
                    if (activePlayer == 1)
                    {
                        clickTile.BuildBomberOnTile(90);
                    }
                    else
                    {
                        clickTile.BuildBomberOnTile(-90);
                    }
                }
                else if (hitObject.name == "BTN_Corvette")
                {
                    clickTile = selectedObject.GetComponent <ClickTile>();
                    if (activePlayer == 1)
                    {
                        clickTile.BuildCorvetteOnTile();
                    }
                    else
                    {
                        clickTile.BuildCorvetteOnTile(-180);
                    }
                }
            }
            catch (Exception e)
            {
                Debug.Log(e);
            }
        }
    }