public void LevelDown()
    {
        if (GameMrg.Ins.selectTower.eId / 10 < 1 || (enumTower)GameMrg.Ins.selectTower.eId == enumTower.Stone)
        {
            GameSceneUI.Ins.centerUiLabel.text = "Already is tower at least";
            GameSceneUI.Ins.CenterLabelOnWaitOff();
            SetInfoUI();
        }
        else
        {
            int downId = (GameMrg.Ins.selectTower.eId / 10) - 1;
            int kind   = GameMrg.Ins.selectTower.eId % 10;

            int       changeTowerNumber = (downId * 10) + kind;
            enumTower towerId           = (enumTower)changeTowerNumber;
            string    towerIdToDesc     = towerId.ToDesc();
            Tower     changeTower       = new Tower();
            var       tbData            = ExtensionMethod.GetTowerTb(towerIdToDesc);
            GameMrg.Ins.selectTower.eId         = (int)tbData.eID;
            GameMrg.Ins.selectTower.damage      = tbData.damage;
            GameMrg.Ins.selectTower.attackSpeed = tbData.attackSpeed;
            GameMrg.Ins.selectTower.range       = tbData.range;
            GameMrg.Ins.selectTower.towerName   = tbData.towerName;
            GameMrg.Ins.selectTower.bulletSpeed = tbData.bulletSpeed;
            GameMrg.Ins.selectTower.levelUpcost = tbData.levelUpcost;
            ExtensionMethod.GameGemSpriteChange(GameMrg.Ins.selectTower.towerName, GameMrg.Ins.selectTower.gameObject);
            GameMrg.Ins.selectTower = changeTower;
            SetInfoUI();
        }
    }
    public void LevelUp()
    {
        if (GameMrg.Ins.selectTower != null)
        {
            if ((enumTower)GameMrg.Ins.selectTower.eId != enumTower.Stone)
            {
                if (GameMrg.Ins.selectTower.eId / 10 < 3)
                {
                    if (GameMrg.Ins.money > GameMrg.Ins.selectTower.levelUpcost)
                    {
                        int downId = (GameMrg.Ins.selectTower.eId / 10) + 1;
                        int kind   = GameMrg.Ins.selectTower.eId % 10;

                        int       changeTowerNumber = (downId * 10) + kind;
                        enumTower towerId           = (enumTower)changeTowerNumber;
                        string    towerIdToDesc     = towerId.ToDesc();
                        Tower     changeTower       = new Tower();
                        var       tbData            = ExtensionMethod.GetTowerTb(towerIdToDesc);
                        GameMrg.Ins.selectTower.eId         = (int)tbData.eID;
                        GameMrg.Ins.selectTower.damage      = tbData.damage;
                        GameMrg.Ins.selectTower.attackSpeed = tbData.attackSpeed;
                        GameMrg.Ins.selectTower.range       = tbData.range;
                        GameMrg.Ins.selectTower.towerName   = tbData.towerName;
                        GameMrg.Ins.selectTower.bulletSpeed = tbData.bulletSpeed;
                        GameMrg.Ins.selectTower.levelUpcost = tbData.levelUpcost;
                        ExtensionMethod.GameGemSpriteChange(GameMrg.Ins.selectTower.towerName, GameMrg.Ins.selectTower.gameObject);
                        SetInfoUI();
                    }
                    else
                    {
                        GameSceneUI.Ins.centerUiLabel.text = "Not enough money";
                        GameSceneUI.Ins.CenterLabelOnWaitOff();
                    }
                }
                else
                {
                    GameSceneUI.Ins.centerUiLabel.text = "Stone impossible level up ";
                    GameSceneUI.Ins.CenterLabelOnWaitOff();
                }
            }
            else
            {
                GameSceneUI.Ins.centerUiLabel.text = "Already is tower maximum the level";
                GameSceneUI.Ins.CenterLabelOnWaitOff();
            }
        }
    }
Esempio n. 3
0
    public void Combine()
    {
        int level = selectTower.eId / 10;

        if (level > 2)
        {
            GameSceneUI.Ins.centerUiLabel.text = "Maximum Level Tower";
            GameSceneUI.Ins.centerUiLabel.gameObject.SetActive(true);
            StartCoroutine(GameSceneUI.Ins.GameObjectWaitSetFalse(GameSceneUI.Ins.centerUiLabel.gameObject));
        }
        else
        {
            int towerKind = selectTower.eId % 10;

            int levelUpTowerId = ((level + 1) * 10) + towerKind;

            //leveluptower로 define에서 찾아서 todesc로 string 값변경후 selecttower의 정보변경후 나머지는 그냥 돌덩이로 바꿈
            enumTower towerId       = (enumTower)levelUpTowerId;
            string    towerIdToDesc = towerId.ToDesc();
            var       tbData        = ExtensionMethod.GetTowerTb(towerIdToDesc);
            selectTower.eId            = (int)tbData.eID;
            selectTower.damage         = tbData.damage;
            selectTower.attackSpeed    = tbData.attackSpeed;
            selectTower.range          = tbData.range;
            selectTower.towerName      = tbData.towerName;
            selectTower.bulletSpeed    = tbData.bulletSpeed;
            selectTower.levelUpcost    = tbData.levelUpcost;
            selectTower.isCombineTower = false;
            ExtensionMethod.GameGemSpriteChange(selectTower.towerName, selectTower.gameObject);
            OtherTowerChangeStone();
            GameSceneUI.Ins.infoUI.SetInfoUI();
            GameSceneUI.Ins.uiPlace.gameObject.SetActive(false);
            StartCoroutine(SpawnMonster());
            getLogic.SetState(GameLogic.Battle);
        }
    }