From 719a8a206e5167a28e5d968e13c38a3114082b7a Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Sat, 14 Nov 2020 18:50:31 +0800
Subject: [PATCH] 坐标调整

---
 Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs |   89 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 81 insertions(+), 8 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
index 35e5645..d9a67e8 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
@@ -42,8 +42,6 @@
 
     protected int maxTower = 0;
 
-    private bool firstDeploy = false;
-
     public static readonly int MAX_TOWERDIS = 5;
 
     // 开始出现技能塔的时间:
@@ -90,7 +88,25 @@
         bCdTimeStart = false;
 
         cdTimeBg.gameObject.SetActive(false);
+
         cdTimeText.text = "";
+
+        randomBtn.onClick.AddListener(onClick);
+
+    }
+
+    public void ChangeBtnClickNormal()
+    {
+        randomBtn.onClick.RemoveAllListeners();
+        randomBtn.onClick.AddListener(onClick);
+    }
+    public void ChangeBtnClick()
+    {
+        randomBtn.onClick.RemoveAllListeners();
+        randomBtn.onClick.AddListener(() =>
+        {
+            AudioSourceManager.Ins.Play(AudioEnum.UIDisable);
+        });
     }
 
     /// <summary>
@@ -282,20 +298,69 @@
     /// </summary>
     public void onClick()
     {
+        if (GameConfig.IsNewbie && !GameConfig.CanBuyNewTower)
+        {
+            AudioSourceManager.Ins.Play(AudioEnum.UIDisable);
+
+            return;
+        }
+
+        AudioSourceManager.Ins.Play(AudioEnum.UI);
+
         // 还没到技能时间,忽略掉技能宝石
-        Tower newTower = GetRandomTower(EndlessUIStart.instance.GameStartTime <= SKILL_TOWER_TIME);
+        // cx test
+        // Tower newTower = GetRandomTower(EndlessUIStart.instance.GameStartTime <= SKILL_TOWER_TIME);
+        Tower newTower = GetRandomTower(false);
 
         if (!newTower)
             throw new Exception("未能成功产生Tower");
 
-        RandomPlaceTower(newTower);
+
+
+        if (newTower.towerFeature == EFeatureTower.NULL)
+        {
+            string tmpTowerName = newTower.towerName;
+            towerNameLis.Add(tmpTowerName);
+            int count = 0;
+            bool isFirstBuy = true;
+            for (int i = 0; i < towerNameLis.Count; i++)
+            {
+                if (towerNameLis[i] == tmpTowerName)
+                {
+                    count++;
+                    if (count == 2)
+                    {
+                        isFirstBuy = false;
+                        break;
+                    }
+                }
+            }
+
+            if (isFirstBuy)
+            {
+                //Debug.Log("首次购买:" + tmpTowerName);
+
+            }
+            else
+            {
+                //Debug.Log("购买了多次了:" + tmpTowerName);
+            }
+            RandomPlaceTower(newTower, -1, -1, -1, -1, isFirstBuy);
+
+        }
+        else
+        {
+            RandomPlaceTower(newTower, -1, -1, -1, -1, false);
+        }
     }
+
+    private List<string> towerNameLis = new List<string>();//用来判断是否是首次购买宝石
 
     /// <summary>
     /// 随机找一个空白位置放置塔防
     /// </summary>
     /// <param name="tower"></param>
-    public bool RandomPlaceTower(Tower tower, int level = -1, int cost = -1)
+    public bool RandomPlaceTower(Tower tower, int level = -1, int cost = -1, int posx = -1, int posy = -1, bool isFirstAppear = false)
     {
         EndlessGameUI gameUI = EndlessGameUI.instance;
 
@@ -303,9 +368,17 @@
             gameUI.CancelGhostPlacement();
 
         if (EndlessUIStart.instance.GameStartTime >= LEVELUP_TOWER_TIME)
-            return gameUI.RandomPlaceTower(tower, -1, -1, level == -1 ? 1 : level, cost);
+        {
+            if (level == -1)
+                level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1);
+        }
         else
-            return gameUI.RandomPlaceTower(tower, -1, -1, level == -1 ? 0 : level, cost);
+        {
+            if (level == -1)
+                level = 0;
+        }
+
+        return gameUI.RandomPlaceTower(tower, posx, posy, level, cost, false, isFirstAppear);
     }
 
     /// <summary>
@@ -344,6 +417,6 @@
             targetTower = getTowerByName(tname);
 
         // River: 随机找一个空白位置放置塔防。
-        EndlessGameUI.instance.RandomPlaceTower(targetTower, x, y, lvl);
+        EndlessGameUI.instance.RandomPlaceTower(targetTower, x, y, lvl, -1, true);
     }
 }

--
Gitblit v1.9.1