public void setupPowerStation() { towerObject newTowerObj; // Reset conencted tower list //towersConnected.Clear(); //doesnt work yet GameObject[] towerList = GameObject.FindGameObjectsWithTag("tower"); foreach (GameObject towerObj in towerList) { // If the tower is placed and not already powered towerScript towerObjCode = towerObj.GetComponent <towerScript>(); if (towerObjCode.towerPlaced && !towerObjCode.towerPowered) { // If the tower is within range float distanceToEnemy = Vector2.Distance(centerPos, towerObjCode.centerPos); if (distanceToEnemy < range) { // Store connected tower newTowerObj = new towerObject(); newTowerObj.tower = towerObj; towersConnected.Add(newTowerObj); //Debug.Log("Add(newTowerObj)"); } } } }
void powerUpTower(towerObject selectedTower) { if (!selectedTower.powerLineDrawn) { // Tell tower that it is powered up selectedTower.tower.GetComponent <towerScript>().setPowerState(true); // Draw power line to tower drawLine(selectedTower, centerPos, selectedTower.tower.GetComponent <towerScript>().centerPos); // Record that power line is active selectedTower.powerLineDrawn = true; } }
void powerDownTower(towerObject selectedTower) { if (selectedTower.powerLineDrawn) { // Tell tower that it is NOT powered up selectedTower.tower.GetComponent <towerScript>().setPowerState(false); // Remove power line graphic Destroy(selectedTower.powerLine); // Record that power line is not active anymore selectedTower.powerLineDrawn = false; } }
void drawLine(towerObject selectedTower, Vector3 startPos, Vector3 stopPos) { //Debug.Log("drawline" + startPos); selectedTower.powerLine = new GameObject("Line"); LineRenderer lineInst = selectedTower.powerLine.AddComponent <LineRenderer>(); lineInst.positionCount = 2; lineInst.startWidth = lineWidth; lineInst.endWidth = lineWidth; lineInst.enabled = true; lineInst.startColor = lineColor; lineInst.material = lineMaterial; lineInst.sortingOrder = lineSortOrder; lineInst.SetPosition(0, startPos); lineInst.SetPosition(1, stopPos); }