void Update () { Vector3 m = Input.mousePosition; m = new Vector3(m.x, m.y, transform.position.y); Vector3 p = GetComponent<Camera>().ScreenToWorldPoint(m); if (currentBuilding != null && !hasPlaced) { currentBuilding.position = new Vector3(Mathf.Round(p.x / fieldQuotient) * fieldQuotient, 0, Mathf.Round(p.z / fieldQuotient) * fieldQuotient); if (Input.GetMouseButtonDown(0)) { if (IsLegalPosition()) { placedObject = currentBuilding.gameObject; hasPlaced = true; placeableBuilding.isPlaced = true; buildingManager.baumenüActive = true; RenameObject(); } } } else { if (Input.GetMouseButtonDown(0)) { Vector3 rayVector = p - transform.position; RaycastHit hit = new RaycastHit(); Ray ray = new Ray(new Vector3(p.x, p.y, p.z), rayVector); if (Physics.Raycast(ray, out hit, Mathf.Infinity, buildingsMask)) { if (placeableBuildingOld != null) { placeableBuildingOld.SetSelected(false); } hit.collider.gameObject.GetComponent<PlaceableBuildings>().SetSelected(true); placeableBuildingOld = hit.collider.gameObject.GetComponent<PlaceableBuildings>(); } else { if (placeableBuildingOld != null) { placeableBuildingOld.SetSelected(false); } } } } }
void Update() { Vector3 m = Input.mousePosition; m = new Vector3(m.x, m.y, transform.position.y); Vector3 p = GetComponent <Camera>().ScreenToWorldPoint(m); if (currentBuilding != null && !hasPlaced) { currentBuilding.position = new Vector3(Mathf.Round(p.x / 1) * 1, 0, Mathf.Round(p.z / 0.4f) * 0.4f); if (Input.GetMouseButtonDown(0)) { if (IsLegalPosition()) { hasPlaced = true; placeableBuilding.isPlaced = true; } } } else { if (Input.GetMouseButtonDown(0)) { Vector3 rayVector = p - transform.position; RaycastHit hit = new RaycastHit(); Ray ray = new Ray(new Vector3(p.x, p.y, p.z), rayVector); if (Physics.Raycast(ray, out hit, Mathf.Infinity, buildingsMask)) { if (placeableBuildingOld != null) { placeableBuildingOld.SetSelected(false); } hit.collider.gameObject.GetComponent <PlaceableBuildings>().SetSelected(true); placeableBuildingOld = hit.collider.gameObject.GetComponent <PlaceableBuildings>(); } else { if (placeableBuildingOld != null) { placeableBuildingOld.SetSelected(false); } } } } }
public void SetItem(GameObject b) { hasPlaced = false; currentBuilding = ((GameObject)Instantiate(b)).transform; placeableBuilding = currentBuilding.GetComponent<PlaceableBuildings>(); }
public void SetItem(GameObject b) { hasPlaced = false; currentBuilding = ((GameObject)Instantiate(b)).transform; placeableBuilding = currentBuilding.GetComponent <PlaceableBuildings>(); }