CoderM
2020-12-10 bd0ba263761a866ca0d698169d2d83b6a11c35e7
Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
@@ -14,8 +14,6 @@
    // 当前类所在的Btn.
    public Button randomBtn;
    //public Button skillBtn;
    /// <summary>
    /// 购买二级宝石的按钮贴图.
    /// </summary>
@@ -39,9 +37,6 @@
    // 开始出现技能塔的时间:
    public static float SKILL_TOWER_TIME = 30.0f;
    // 购买之后直接出现2级宝石的时间.
    public static float LEVELUP_TOWER_TIME = 10.0f;
    protected System.Random mRandom;
    protected int rTowerIdx = 2;
@@ -55,6 +50,8 @@
    public Text NormalDesc;
    public Text SkillDesc;
    public ParticleSystem btnPS;
    // Start is called before the first frame update
    void Start()
@@ -80,7 +77,6 @@
        bSetBuyLvlUp = false;
        bCdTimeStart = false;
        randomBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.NULL); });
        //skillBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.Skill_Bomb); });
        UpdateDescDisplay();
    }
@@ -89,28 +85,20 @@
        int minLevel = Mathf.Min(EndlessGameUI.instance.MinLevel, 1);
        NormalDesc.text = $"购买{minLevel + 1}级宝石";
        //SkillDesc.text = $"购买{minLevel + 1}级技能宝石";
    }
    public void ChangeBtnClickNormal()
    {
        randomBtn.onClick.RemoveAllListeners();
        //skillBtn.onClick.RemoveAllListeners();
        randomBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.NULL); });
        //skillBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.Skill_Bomb); });
    }
    public void ChangeBtnClick()
    {
        randomBtn.onClick.RemoveAllListeners();
        //skillBtn.onClick.RemoveAllListeners();
        randomBtn.onClick.AddListener(() =>
        {
            AudioSourceManager.Ins.Play(AudioEnum.UIDisable);
        });
        // skillBtn.onClick.AddListener(() =>
        // {
        //     AudioSourceManager.Ins.Play(AudioEnum.UIDisable);
        // });
    }
    /// <summary>
@@ -167,7 +155,7 @@
            if (name == this.towerArray[ti].towerName)
                return towerArray[ti];
        return GetRandomTower(EFeatureTower.NULL, true);
        return GetRandomTower(EFeatureTower.NULL);
    }
    /// <summary>
@@ -196,7 +184,7 @@
    /// 根据规则生成一个随机的塔
    /// </summary>
    /// <returns></returns>
    public Tower GetRandomTower(EFeatureTower towerType, bool isRandom)
    public Tower GetRandomTower(EFeatureTower towerType, bool isRandom = false)
    {
        int[] indexArr = { 0, 1, 2, 3, 4 };
@@ -227,7 +215,7 @@
        if (GameConfig.IsNewbie)
        {
            AudioSourceManager.Ins.Play(AudioEnum.UI);
            btnPS?.Play();
            return;
        }
@@ -239,6 +227,8 @@
            throw new Exception("未能成功产生Tower");
        RandomPlaceTower(newTower, -1, -1, -1, -1, true);
        btnPS?.Play();
        // if (newTower.towerFeature == EFeatureTower.NULL)
        // {
@@ -291,8 +281,16 @@
        if (gameUI.isBuilding)
            gameUI.CancelGhostPlacement();
        if (level == -1)
            level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1);
        if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME)
        {
            if (level == -1)
                level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1);
        }
        else
        {
            if (level == -1)
                level = 0;
        }
        return gameUI.RandomPlaceTower(tower, posx, posy, level, cost, false, isFirstAppear);
    }