Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        currentPosition = this.transform.position;
        if (closestTower == null || !closestTower.Active())
        {
            closestTower = GetClosestTower(currentPosition);
        }

        if (closestTower != null)
        {
            transform.position = Vector3.MoveTowards(currentPosition, closestTower.transform.position, Time.deltaTime * speed);
            transform.LookAt(closestTower.transform);

            if (isSlowed && freezeTime > 0)
            {
                freezeTime -= Time.deltaTime;
            }
            else if (freezeTime <= 0)
            {
                freezeTime = 2;
                isSlowed   = false;
                speed      = 0.5f;
            }
        }
    }
    public void SetActive()
    {
        if (parentTower.Active())
        {
            GetComponent <SpriteRenderer>().enabled = true;
            if (!isActive)
            {
                animations.Play("Repair");
                soundManager.PlayTowerCrumble();
                //SoundManager.Instance.PlayTowerCrumble();
            }

            isActive = true;
        }
    }
Beispiel #3
0
 void HandlePlayerInput(TowerBase tower)
 {
     if (tower != null)
     {
         tower.TextActivator(tower.children);
         //SoundManager.Instance.PlayTowerShoot();
         soundManager.PlayTowerShoot();
         if (tower.Active())
         {
             towerBase.ResetTextTowers();
             Explosion(tower);
             success = 1;
         }
     }
     else
     {
         success = -1;
         //TODO Enter combo breaker
     }
 }
Beispiel #4
0
    protected void InputHandler()
    {
        if (!currentTower.Active())
        {
            ChangeCurrenTower(towerBase);
        }

        bool hasActiveChild = false;

        for (int i = 0; i < currentTower.children.Length; i++)
        {
            if (currentTower.children[i].Active())
            {
                hasActiveChild = true;
            }
        }
        if (!hasActiveChild)
        {
            ChangeCurrenTower(towerBase);
        }

        if (Input.GetButtonDown("X"))
        {
            if (SceneManager.GetActiveScene().name == "_Tutorial")
            {
                tutorialManager.usedBottomTower = true;
            }
            tower = currentTower.GetChildByKey(Tower.ActivateKeys.X);
            HandlePlayerInput(tower);
        }
        else if (Input.GetButtonDown("Circle"))
        {
            if (SceneManager.GetActiveScene().name == "_Tutorial")
            {
                tutorialManager.usedRightTower = true;
            }
            tower = currentTower.GetChildByKey(Tower.ActivateKeys.Circle);
            HandlePlayerInput(tower);
        }
        else if (Input.GetButtonDown("Square"))
        {
            if (SceneManager.GetActiveScene().name == "_Tutorial")
            {
                tutorialManager.usedLeftTower = true;
            }
            tower = currentTower.GetChildByKey(Tower.ActivateKeys.Square);
            HandlePlayerInput(tower);
        }
        else if (Input.GetButtonDown("Triangle"))
        {
            if (SceneManager.GetActiveScene().name == "_Tutorial")
            {
                tutorialManager.usedTopTower = true;
            }
            tower = currentTower.GetChildByKey(Tower.ActivateKeys.Triangle);
            HandlePlayerInput(tower);
        }

        if (currentTower.children.Length == 0)
        {
            ChangeCurrenTower(towerBase);
            currentTower.TextActivator(currentTower.children);
        }
    }