/* 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; }
/* Use this for initialization * void Start() * { * * }*/ // Update is called once per frame void Update() { bool hasHit = Physics.Raycast(mainCamera.ScreenToWorldPoint(Input.mousePosition), mainCamera.transform.forward, out hit); if (player.onMortarMark) { if (Input.GetMouseButtonDown(0)) { Vector3 position = mainCamera.ScreenToWorldPoint(Input.mousePosition); position.z = 0; GameObject.Instantiate(player.mortarMarkPrefab, position, Quaternion.identity); } if (Input.GetMouseButtonDown(1) && hasHit && hit.collider.GetComponent <MortarMark>()) { GameObject.Destroy(hit.collider.gameObject); } } if (hasHit && hit.collider.GetComponent <Hexagon>() && hit.collider.GetComponent <Hexagon>().Visible) { mouseHex = hit.collider.GetComponent <Hexagon>(); if (player.onTower) { if (TowerRightAngle(player.onTower.transform.position, mouseHex.transform.position)) { mouseBuildingSprite.transform.parent = mouseHex.transform; mouseBuildingSprite.transform.localPosition = Vector3.zero; } LocateWalls(player.onTower.transform, mouseHex.transform); if (Input.GetMouseButtonDown(1)) { player.onTower = null; } } else { mouseBuildingSprite.transform.parent = mouseHex.transform; mouseBuildingSprite.transform.localPosition = Vector3.zero; } if (Input.GetMouseButtonDown(0) && mouseBuildingPrefab && !player.onMortarMark) { if (player.onTower) { if (TowerRightAngle(player.onTower.transform.position, mouseHex.transform.position)) { Building secondTower = null; if (mouseHex.building && mouseHex.building.kind == "tower") { secondTower = mouseHex.building; } else if (!mouseHex.building) { secondTower = Build(mouseHex, player.towerPrefab, true); } if (secondTower) { BuildWalls(player.onTower.transform, secondTower.transform); player.onTower = null; } } } else if (mouseHex.building && mouseHex.building.kind == "tower") { player.onTower = mouseHex.building; } else if (!mouseHex.building) { Build(mouseHex, mouseBuildingPrefab); } } if (Input.GetMouseButtonDown(1) && !mouseBuildingPrefab && !player.onMortarMark) { mouseHex.Empty(); } if (mouseHex.building) { mouseBuildingSprite.color = Color.red; } else { mouseBuildingSprite.color = Color.white; } } else { mouseHex = null; } mouseBuildingSprite.sprite = (mouseBuildingPrefab && !player.onMortarMark) ? mouseBuildingPrefab.GetComponent <SpriteRenderer>().sprite : null; towerLines.enabled = player.onTower; }