コード例 #1
0
 private void SetupTargeting()
 {
     towerTargeting = ElementUtility.TowerTargetingForBaseElement(elements.Peek());
     if (towerTargeting == TowerTargeting.Ground)
     {
         GenerateTargetObject();
     }
 }
コード例 #2
0
ファイル: Tower.cs プロジェクト: PakonAges/IdleTD
    public void Construct(Vector3 position,
                          TowerData towerData,
                          CreepsManager creepsManager,
                          Bullet.Factory bulletFactory)
    {
        TowerData       = towerData;
        TowerParameters = new TowerParameters(TowerData);
        _towerVisual    = new TowerVisual(this, TowerData);
        _towerTargeting = new TowerTargeting(this, creepsManager);
        _towerShooting  = new TowerShooting(this, bulletFactory);

        gameObject.transform.position = position;
        _towerVisual.SetupVisual();
    }
コード例 #3
0
    // Update is called once per frame
    void Update()
    {
        if (ResourceSystem.Instance.EnergyMax < ActiveTowers.Count)
        {
            for (int i = ResourceSystem.Instance.EnergyMax; i < ActiveTowers.Count; i++)
            {
                if (ActiveTowers[i].CompareTag("Energy"))
                {
                    MiningTower tower = ActiveTowers[i].GetComponent <MiningTower>();
                    tower.EffectWorking = false;
                }
                else if (ActiveTowers[i].CompareTag("Tower"))
                {
                    TowerTargeting tower = ActiveTowers[i].GetComponent <TowerTargeting>();
                    tower.EffectWorking = false;
                }
            }

            Debug.Log("Too many towers");
        }
    }
コード例 #4
0
 private void ActivateTowers()
 {
     //activate all of the towers that are within the active energy range
     for (int i = 0; i < ResourceSystem.Instance.GetEnergy(); i++)
     {
         if (i > ActiveTowers.Count - 1)
         {
             break;
         }
         if (ActiveTowers[i].CompareTag("Energy"))
         {
             MiningTower tower = ActiveTowers[i].GetComponent <MiningTower>();
             tower.EffectWorking = true;
         }
         else if (ActiveTowers[i].CompareTag("Tower"))
         {
             TowerTargeting tower = ActiveTowers[i].GetComponent <TowerTargeting>();
             tower.EffectWorking = true;
         }
     }
 }
コード例 #5
0
ファイル: BuildingTower.cs プロジェクト: slayer3600/sproj
    public void Awake()
    {
        anim = GetComponentInChildren<Animator>();
        renderers = GetComponentsInChildren<Renderer>();

        targeting = FindObjectOfType<TowerTargeting>();
        targets = GetComponentsInChildren<TowerTarget>();
        myEffect = GetComponent<Effect>();

        wayPointController = GetComponentInChildren<WaypointController>();

        InitGem();

        for (int i = 0; i < targets.Length; i++)
        {
            targets[i].Init(this);
        }

        //get this towers waypoints
        if (wayPointController.transform.childCount > 0)
        {
            for (int i = 0; i <= wayPointController.transform.childCount - 1; i++)
            {
                wayPoints.Add(wayPointController.transform.GetChild(i));
            }
        }
        // always start by trying to cull
        StartCulling();
    }