示例#1
0
    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)");
                }
            }
        }
    }
示例#2
0
 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;
     }
 }
示例#3
0
 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;
     }
 }
示例#4
0
    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);
    }