Browse Source

搭UI(升级、升星)

lcn 5 months ago
parent
commit
a5e0aa4c08

+ 73 - 24
Assets/Scripts/GameUI/UI/Hero/HeroDetailPanel.cs

@@ -48,7 +48,7 @@ namespace Fort23.Mono
         }
 
 
-        private void OnClickPromote()
+        private async void OnClickPromote()
         {
             if (PlayerManager.Instance.gameConstantConfig.maxStar <= heroInfo.star.Value)
             {
@@ -56,6 +56,13 @@ namespace Fort23.Mono
                 return;
             }
             
+            upPre = await UIManager.Instance.CreateGComponentForObject<HeroPowerUpPre>(objHeroPowerUpPre,
+                delegate(HeroPowerUpPre pre)
+                {
+                    EnterUpgradePre(2);
+                    pre.OpenPromotePre(heroInfo);
+                }, root: rtBottom);
+            
             // heroInfo.modelConfig.itemID
 
             if (BagController.Instance.DeductItem(heroInfo.modelConfig.itemID, heroInfo.promoteConfig.costCount))
@@ -66,39 +73,24 @@ namespace Fort23.Mono
                 HeroUITools.SetStarShow(stars, heroInfo.star.Value);
                 SendEvent(HeroUpType.Promote);
             }
-            
         }
 
-        private void EnterUpgradePre()
+        private void EnterPromotePre()
         {
-            isOpenPre = true;
-            btns1.SetActive(false);
-            btnPromote.gameObject.SetActive(false);
-            
-            RectTransform rt = btnUpgrade.GetComponent<RectTransform>();
-            rt.sizeDelta = new Vector2(510, rt.sizeDelta.y);
-            rt.localPosition = new Vector3(47, rt.localPosition.y, rt.localPosition.z);
             
         }
 
-        private void ExitUpgradePre()
+        private void ExitPromotePre()
         {
-            isOpenPre = false;
-            btns1.SetActive(true);
             
-            btnPromote.gameObject.SetActive(true);
-                
-            RectTransform rt = btnUpgrade.GetComponent<RectTransform>();
-            rt.sizeDelta = new Vector2(320, rt.sizeDelta.y);
-            rt.localPosition = new Vector3(188.6f, rt.localPosition.y, rt.localPosition.z);
-                
-            objHeroPowerUpPre.SetActive(false);
         }
-        
+
         /// <summary>
         /// 是否打开了升级/升星的预览界面
         /// </summary>
         public bool isOpenPre;
+
+        private byte curPreTyp;
         private async void OnClickUpgrade()
         {
             HeroUpResultType resultType = PlayerManager.Instance.heroController.UpgradeHeroLogic(heroInfo, isOpenPre);
@@ -110,7 +102,7 @@ namespace Fort23.Mono
             else if (resultType == HeroUpResultType.PlayUpgradeEftFirst)
             {
                 //TODO 要播放特效.
-                ExitUpgradePre();
+                ExitUpgradePre(1);
                 UpdateAttributeUI();
             }
             else if(resultType == HeroUpResultType.NeedOpenPreUI)
@@ -118,7 +110,7 @@ namespace Fort23.Mono
                 upPre = await UIManager.Instance.CreateGComponentForObject<HeroPowerUpPre>(objHeroPowerUpPre,
                     delegate(HeroPowerUpPre pre)
                     {
-                        EnterUpgradePre();
+                        EnterUpgradePre(1);
                         pre.OpenUpgradePre(heroInfo);
                     }, root: rtBottom);
             }
@@ -135,6 +127,63 @@ namespace Fort23.Mono
             //     SendEvent(HeroUpType.Level);
             // }
         }
+        
+        
+        /// <summary>
+        /// 进入 升级/升星预览界面
+        /// </summary>
+        /// <param name="preTyp">1升级;2 升星</param>
+        private void EnterUpgradePre(byte preTyp)
+        {
+            isOpenPre = true;
+            curPreTyp = preTyp;
+            btns1.SetActive(false);
+            if (preTyp == 1)
+            {
+                btnPromote.gameObject.SetActive(false);
+                RectTransform rt = btnUpgrade.GetComponent<RectTransform>();
+                rt.sizeDelta = new Vector2(510, rt.sizeDelta.y);
+                rt.localPosition = new Vector3(47, rt.localPosition.y, rt.localPosition.z);
+            }
+            else
+            {
+                btnUpgrade.gameObject.SetActive(false);
+                RectTransform rt = btnPromote.GetComponent<RectTransform>();
+                rt.sizeDelta = new Vector2(510, rt.sizeDelta.y);
+                rt.localPosition = new Vector3(47, rt.localPosition.y, rt.localPosition.z);
+            }
+        }
+
+        
+        /// <summary>
+        /// 离开 升级/升星预览界面
+        /// </summary>
+        /// <param name="preTyp">1升级;2 升星</param>
+        private void ExitUpgradePre(byte preTyp)
+        {
+            isOpenPre = false;
+            btns1.SetActive(true);
+
+            if (preTyp == 1)
+            {
+                btnPromote.gameObject.SetActive(true);
+                RectTransform rt = btnUpgrade.GetComponent<RectTransform>();
+                rt.sizeDelta = new Vector2(320, rt.sizeDelta.y);
+                rt.localPosition = new Vector3(188.6f, rt.localPosition.y, rt.localPosition.z);
+            }
+            else
+            {
+                btnUpgrade.gameObject.SetActive(true);
+                RectTransform rt = btnPromote.GetComponent<RectTransform>();
+                rt.sizeDelta = new Vector2(220, rt.sizeDelta.y);
+                rt.localPosition = new Vector3(-110.9f, rt.localPosition.y, rt.localPosition.z);
+            }
+            
+                
+            
+                
+            objHeroPowerUpPre.SetActive(false);
+        }
 
         /// <summary>
         /// 发送英雄提升的事件
@@ -163,7 +212,7 @@ namespace Fort23.Mono
         {
             if (isOpenPre)
             {
-                ExitUpgradePre();
+                ExitUpgradePre(curPreTyp);
             }
             else
             {

+ 4 - 2
Assets/Scripts/GameUI/UI/Hero/HeroPowerUpPre.cs

@@ -104,14 +104,16 @@ namespace Fort23.Mono
             
             HeroUITools.SetStarShow(Stars1, heroInfo.star.Value);
             HeroUITools.SetStarShow(Stars2, nextLvInfo.star.Value);
+            
+            SkillConfig skillConfig = nextLvInfo.SkillData.GetSkillConfig(upConfig.ID);
 
-            if (upConfig.ID > 0)
+            if (upConfig.ID > 0 && skillConfig.ID > 0)
             {
                 rtPromoteBg.sizeDelta = new Vector2(rtUpgradeBg.sizeDelta.x, GlobalParam.Hero_Promote_UI_BG_Unlock_Skill_Height);
                 objProSkillUnlock.SetActive(true);
                 starsPos.localPosition = new Vector3(0, GlobalParam.Hero_Promote_UI_BG_Star_Pos_2, 0);
                 
-                SkillConfig skillConfig = nextLvInfo.SkillData.GetSkillConfig(upConfig.ID);
+                skillConfig = nextLvInfo.SkillData.GetSkillConfig(upConfig.ID);
                 
                 object[] data = new object[skillConfig.effectValue.Length];
                 for (int j = 0; j < skillConfig.effectValue.Length; j++)

+ 5 - 5
美术/工具/imgui.ini

@@ -10,27 +10,27 @@ Collapsed=0
 
 [Window][Tool]
 Pos=400,0
-Size=900,100
+Size=709,100
 Collapsed=0
 
 [Window][unity_art]
-Pos=1300,0
+Pos=1109,0
 Size=400,720
 Collapsed=0
 
 [Window][console]
 Pos=400,520
-Size=900,70
+Size=709,70
 Collapsed=0
 
 [Window][控制台]
 Pos=400,590
-Size=900,130
+Size=709,130
 Collapsed=0
 
 [Window][scence]
 Pos=400,100
-Size=900,420
+Size=709,420
 Collapsed=0
 
 [Docking][Data]