예제 #1
0
 private void DeselectAndHide()
 {
     ShowBuildButtons();
     ShowUpgradeButtons();
     _touchedTower = null;
     _touchedArea  = null;
 }
예제 #2
0
    private void SelectAndShow(OpenAreaBehavior a)
    {
        _touchedArea            = a;
        _displayForTowerTouched = false;


        bool showMelee  = _towerManager.CanBuildMelee();
        bool showRanged = _towerManager.CanBuildRanged();
        bool showSlow   = _towerManager.CanBuildSlow();

        ShowBuildButtons(showMelee, showRanged, showSlow);
        _lastActivation = Time.time;
    }
예제 #3
0
    private void BuildTower(Tower t, OpenAreaBehavior touchedArea)
    {
        //In with the new
        Tower tower = TowerFactory.Instance.CreateTower(t);

        tower.transform.position = touchedArea.transform.position;

        //Out with the old
        Destroy(touchedArea.gameObject);
        touchedArea = null;

        // call enemy manager and tell her a tower has been built
        Global go = GameObject.Find("Global").GetComponent <Global>();

        go.enemyManager.NotifyTowerBuilt();
        GameObject.Find("Seagull").GetComponent <Seagull>().StartPlane();
    }
예제 #4
0
    private void OpenAreaTouched(OpenAreaBehavior area)
    {
        if (MenuActive && !_paused)
        {
            if (IsBelowButton(area.gameObject))
            {
                return;
            }
            else
            {
                DeselectAndHide();
            }
        }
        else
        if (_lastGullHitTime != Time.time)
        {
            SelectAndShow(area);
            //Debug.Log("Show menu: " + Time.time);
        }

        //Debug.Log("open area touched");
    }
예제 #5
0
 public void BuildSlowFromArea(OpenAreaBehavior openArea)
 {
     BuildTower(SlowPrefab.GetComponent <SlowTower>(), openArea);
     _bank.SubtractDollars(SlowTowerCost);
 }
예제 #6
0
 public void BuildRangedFromArea(OpenAreaBehavior openArea)
 {
     BuildTower(RangedPrefab.GetComponent <RangedTower>(), openArea);
     _bank.SubtractDollars(RangedTowerCost);
 }
예제 #7
0
 public void BuildMeleeFromArea(OpenAreaBehavior openArea)
 {
     BuildTower(MeleePrefab.GetComponent <MeleeTower>(), openArea);
     _bank.SubtractDollars(MeleeTowerCost);
 }