Inheritance: MonoBehaviour
    // Use this for initialization
    void Start()
    {
        priceTag = transform.Find("priceTag");
        max = transform.Find("max");

        priceText = priceTag.Find("textPrice").GetComponent<Text>();
        levelText = transform.Find("textLevel").GetComponent<Text>();

        gunDamaga = transform.Find("UpgradeIndicator Gun Damage").GetComponent<LevelIndicator>();
        gunRange = transform.Find("UpgradeIndicator Gun Range").GetComponent<LevelIndicator>();

        specialLevel1 = transform.Find("UpgradeSpecial/textCount").GetComponent<Text>();
        specialLevel2 = transform.Find("UpgradeSpecial/textNextCount").GetComponent<Text>();
        specialLevelMax = transform.Find("UpgradeSpecial Max/textCount").GetComponent<Text>();

        UpdateButton();
    }
Exemple #2
0
        public void SetUpgrades(UpgradeBase[] upgrades)
        {
            _upgrades.ForEach(Destroy);
            _upgrades.Clear();
            UpgradeDetails.UpdateTarget(null);

            if (upgrades == null)
            {
                return;
            }

            foreach (var upgrade in upgrades)
            {
                var upgradeObject = Instantiate(upgrade.Icon, Vector2.zero, Quaternion.identity, UpgradesParent);
                upgradeObject.transform.localPosition = new Vector2(_upgrades.Count % 6 * _positionOffset, 0f);
                upgradeObject.transform.localScale    = _scale;
                foreach (var spriteRenderer in upgradeObject.GetComponentsInChildren <SpriteRenderer>())
                {
                    spriteRenderer.sortingOrder = _sortingOrder;
                }
                upgradeObject.GetComponentInChildren <LevelIndicator>().Upgrade = upgrade;

                var interaction = upgradeObject.GetComponentInChildren <Interaction>();
                interaction.OnClick += HandleUpgradeClick;
                interaction.OnEnter += (sender, o) =>
                {
                    _current        = upgrade;
                    _spriteRenderer = o.GetComponentInChildren <SpriteRenderer>();
                    _levelIndicator = o.GetComponentInChildren <LevelIndicator>();
                    GameState.Instance.UpdateCost(upgrade.NextCost);
                    UpgradeDetails.UpdateTarget(upgradeObject, true, upgrade);
                };
                interaction.OnExit += HandleUpgradeMouseExit;

                _upgrades.Add(upgradeObject.gameObject);
            }
        }
Exemple #3
0
    public void levelUpdater(int level)
    {
        print("updating level to " + level);
        if (level == 1)
        {
            curLevel                  = 1;
            cam.nearClipPlane         = 0.1f;
            this.transform.localScale = normalScale;
            hiddenWall1.SetActive(true);
            hiddenWall2.SetActive(true);
            hiddenWall3.SetActive(true);
            hiddenWall4.SetActive(true);
            LevelIndicator.setLevel(1);
        }

        else if (level == 2)
        {
            curLevel                  = 2;
            cam.nearClipPlane         = 0.1f;
            this.transform.localScale = normalScale;
            hiddenWall1.SetActive(true);
            hiddenWall2.SetActive(true);
            hiddenWall3.SetActive(true);
            hiddenWall4.SetActive(true);
            LevelIndicator.setLevel(2);
        }

        else if (level == 3)
        {
            curLevel                  = 3;
            cam.nearClipPlane         = 0.1f;
            this.transform.localScale = normalScale;
            hiddenWall1.SetActive(false);
            hiddenWall2.SetActive(false);
            hiddenWall3.SetActive(false);
            hiddenWall4.SetActive(false);
            LevelIndicator.setLevel(3);
        }

        else if (level == 4)
        {
            curLevel                  = 4;
            cam.nearClipPlane         = 0.1f;
            this.transform.localScale = normalScale;
            hiddenWall1.SetActive(true);
            hiddenWall2.SetActive(true);
            hiddenWall3.SetActive(true);
            hiddenWall4.SetActive(true);
            LevelIndicator.setLevel(4);
        }

        else if (level == 5)
        {
            curLevel                  = 5;
            cam.nearClipPlane         = 0.1f;
            this.transform.localScale = halfScale;
            hiddenWall1.SetActive(true);
            hiddenWall2.SetActive(true);
            hiddenWall3.SetActive(true);
            hiddenWall4.SetActive(true);
            LevelIndicator.setLevel(5);
        }

        else if (level == 6)
        {
            curLevel                  = 6;
            cam.nearClipPlane         = 0.6f;
            this.transform.localScale = normalScale;
            hiddenWall1.SetActive(true);
            hiddenWall2.SetActive(true);
            hiddenWall3.SetActive(true);
            hiddenWall4.SetActive(true);
            LevelIndicator.setLevel(6);
        }

        else if (level == 7)
        {
            curLevel                  = 7;
            cam.nearClipPlane         = 0.1f;
            this.transform.localScale = normalScale;
            hiddenWall1.SetActive(true);
            hiddenWall2.SetActive(true);
            hiddenWall3.SetActive(true);
            hiddenWall4.SetActive(true);
            LevelIndicator.setLevel(7);
            finished = true;
        }
    }
    private void Update()
    {
        if (_start)
        {
            var highestLevel = GameManager.Instance.GetHighestLevelCompleted();
            if (highestLevel < 0)
            {
                highestLevel = 0;
            }
            for (var i = 0; i < levelIndicators.Length; i++)
            {
                if (GameManager.Instance.GetLevelIsCompleted(i))
                {
                    levelIndicators[i].GetComponent <LevelIndicator>().SetColor(Color.green);
                }
            }
            levelIndicators[highestLevel].GetComponent <LevelIndicator>().SetColor(Color.blue);
            _start = false;
        }

        if (Input.GetKeyDown(KeyCode.Space) && !_levelIndicator.levelSceneName.Equals(""))
        {
            if (_levelIndicator.SceneNumber <= GameManager.Instance.GetHighestLevelCompleted() + 1)
            {
                Debug.Log(_levelIndicator.SceneNumber);
                Debug.Log(GameManager.Instance.GetHighestLevelCompleted() + 1);
                SceneManager.LoadScene(_levelIndicator.levelSceneName);
            }
        }


        var horizontalInput = Input.GetAxis("Horizontal");
        var verticalInput   = Input.GetAxis("Vertical");

        if (_justMoved)
        {
            if (horizontalInput == 0 && verticalInput == 0)
            {
                _justMoved = false;
            }
        }
        else if (horizontalInput > 0 && _levelIndicator.HasRightLocation())
        {
            _currentLevel   = _levelIndicator.rightLocation;
            _levelIndicator = _currentLevel.GetComponent <LevelIndicator>();
            _justMoved      = true;
        }
        else if (horizontalInput < 0 && _levelIndicator.HasLeftLocation())
        {
            _currentLevel   = _levelIndicator.leftLocation;
            _levelIndicator = _currentLevel.GetComponent <LevelIndicator>();
            _justMoved      = true;
        }
        else if (verticalInput < 0 && _levelIndicator.HasDownLocation())
        {
            _currentLevel   = _levelIndicator.downLocation;
            _levelIndicator = _currentLevel.GetComponent <LevelIndicator>();
            _justMoved      = true;
        }

        else if (verticalInput > 0 && _levelIndicator.HasUpLocation())
        {
            _currentLevel   = _levelIndicator.upLocation;
            _levelIndicator = _currentLevel.GetComponent <LevelIndicator>();
            _justMoved      = true;
        }
        transform.position = _currentLevel.transform.position + _offset;
    }