public void PlaceTower(TowerPlacementInfo towerInfo) { Type = towerInfo.TowerType; Tower = Instantiate(towerInfo.TowerPrefab, transform.position, Quaternion.identity); TowerState = Tower.GetComponent <TowerState>(); IsEmpty = false; }
public void Set(TowerPlacementInfo towerPlacementInfo) { Debug.Log("Tower placement set"); if (towerPlacementInfo == null) { if (CurrentTowerPreview != null) { Destroy(CurrentTowerPreview.gameObject); } info = null; return; } TowerPreviewPrefab = towerPlacementInfo.TowerPlacementPreviewPrefab; info = towerPlacementInfo; if (CurrentTowerPreview != null) { Destroy(CurrentTowerPreview.gameObject); } var mousePos = Input.mousePosition; //mousePos.z = 2.0; // we want 2m away from the camera position. var objectPos = Camera.main.ScreenToWorldPoint(mousePos); //korekta zeby bylo na srodku myszki var towerPreview = TowerPreviewPrefab.GetComponent <TowerPlacementPreview>(); if (towerPreview != null && towerPreview.BorderRenderer != null && towerPreview.BorderRenderer.sprite != null) { objectPos = new Vector3(objectPos.x - towerPreview.BorderRenderer.bounds.size.x / 2, objectPos.y - towerPreview.BorderRenderer.bounds.size.y / 2, objectPos.z); } CurrentTowerPreview = Instantiate(TowerPreviewPrefab, objectPos, Quaternion.identity).transform; SetBorderColor(DeniedColor); }