Ver código fonte

分解技能书兑换界面

huangxiaoyue 1 ano atrás
pai
commit
cbc3d646f6
21 arquivos alterados com 146 adições e 19 exclusões
  1. 30 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/PopWindow/UI_ExchangeGoodsUI.cs
  2. 116 19
      GameClient/Assets/Game/HotUpdate/Views/PopWindow/ExchangeGoodsView.cs
  3. BIN
      GameClient/Assets/ResIn/UI/Card/Card_atlas0!a.png
  4. BIN
      GameClient/Assets/ResIn/UI/Card/Card_atlas0.png
  5. BIN
      GameClient/Assets/ResIn/UI/Card/Card_atlas0_1!a.png
  6. BIN
      GameClient/Assets/ResIn/UI/Card/Card_atlas0_1.png
  7. BIN
      GameClient/Assets/ResIn/UI/Card/Card_atlas0_2!a.png
  8. BIN
      GameClient/Assets/ResIn/UI/Card/Card_atlas0_2.png
  9. BIN
      GameClient/Assets/ResIn/UI/Card/Card_fui.bytes
  10. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png
  11. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png
  12. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png
  13. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png
  14. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2!a.png
  15. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2.png
  16. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_3.png
  17. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  18. BIN
      GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_atlas0_1!a.png
  19. BIN
      GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_atlas0_1.png
  20. BIN
      GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_fui.bytes
  21. BIN
      GameClient/Assets/ResIn/UI/PopWindow/PopWindow_fui.bytes

+ 30 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/PopWindow/UI_ExchangeGoodsUI.cs

@@ -9,6 +9,16 @@ namespace UI.PopWindow
         public GComponent target;
         public GGraph m_holderLeftTop;
         public GGraph m_holderRightDowm;
+        public GComponent m_itemSkill;
+        public GList m_listConsume;
+        public GButton m_btnCancel;
+        public GButton m_btnUse;
+        public GTextField m_txtHasNum;
+        public GButton m_btnAdd;
+        public GButton m_btnReduce;
+        public GButton m_btnAllChoose;
+        public GSlider m_slideUpLevel;
+        public GTextField m_txtChooseLevel;
         public const string URL = "ui://i9tn319dnzuq0";
         public const string PACKAGE_NAME = "PopWindow";
         public const string RES_NAME = "ExchangeGoodsUI";
@@ -58,11 +68,31 @@ namespace UI.PopWindow
         {
             m_holderLeftTop = (GGraph)comp.GetChild("holderLeftTop");
             m_holderRightDowm = (GGraph)comp.GetChild("holderRightDowm");
+            m_itemSkill = (GComponent)comp.GetChild("itemSkill");
+            m_listConsume = (GList)comp.GetChild("listConsume");
+            m_btnCancel = (GButton)comp.GetChild("btnCancel");
+            m_btnUse = (GButton)comp.GetChild("btnUse");
+            m_txtHasNum = (GTextField)comp.GetChild("txtHasNum");
+            m_btnAdd = (GButton)comp.GetChild("btnAdd");
+            m_btnReduce = (GButton)comp.GetChild("btnReduce");
+            m_btnAllChoose = (GButton)comp.GetChild("btnAllChoose");
+            m_slideUpLevel = (GSlider)comp.GetChild("slideUpLevel");
+            m_txtChooseLevel = (GTextField)comp.GetChild("txtChooseLevel");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holderLeftTop = null;
             m_holderRightDowm = null;
+            m_itemSkill = null;
+            m_listConsume = null;
+            m_btnCancel = null;
+            m_btnUse = null;
+            m_txtHasNum = null;
+            m_btnAdd = null;
+            m_btnReduce = null;
+            m_btnAllChoose = null;
+            m_slideUpLevel = null;
+            m_txtChooseLevel = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 116 - 19
GameClient/Assets/Game/HotUpdate/Views/PopWindow/ExchangeGoodsView.cs

@@ -1,4 +1,6 @@
 using FairyGUI;
+using System;
+using UI.CommonGame;
 using UI.PopWindow;
 
 namespace GFGGame
@@ -6,7 +8,10 @@ namespace GFGGame
     public class ExchangeGoodsView : BaseWindow
     {
         private UI_ExchangeGoodsUI _ui;
-
+        private int _skillId = 0;
+        private long _nowCount = 0;  //当前选择的数量
+        private long _maxCount = 0;  //可选择的最大数量
+        
         public override void Dispose()
         {
             if (_ui != null)
@@ -23,25 +28,19 @@ namespace GFGGame
             base.OnInit();
             packageName = UI_ExchangeGoodsUI.PACKAGE_NAME;
             _ui = UI_ExchangeGoodsUI.Create();
-            viewCom = _ui.target;
-            isfullScreen = true;
-            isReturnView = true;
-            bringToFontOnClick = false;
-            //_ui.m_btnBack.onClick.Add(OnBtnBackClick);
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
+            _ui.m_listConsume.itemRenderer = RenderListConsumeItem;
+            _ui.m_btnCancel.onClick.Add(OnBtnCancelClick);
+            _ui.m_btnUse.onClick.Add(OnBtnUseClick);
+            _ui.m_btnReduce.onClick.Add(OnClickBtnReduce);
+            _ui.m_btnAdd.onClick.Add(OnClickBtnAdd);
+            _ui.m_btnAllChoose.onClick.Add(OnClickAllChoose);
+            _ui.m_slideUpLevel.onChanged.Add(OnChangeUpLevel);
         }
 
-        private void OnBtnBackClick()
-        {
-            ViewManager.Hide<CombTaskController>();
-            //ViewManager.Hide<BattlePassTaskView>();
-            ViewManager.GoBackFrom(typeof(TaskView).FullName);
-        }
-
-        private void OnBtnAchieveClick()
-        {
-            ViewManager.Show<TaskAchieveView>();
-        }
-            
         protected override void AddEventListener()
         {
             base.AddEventListener();
@@ -55,12 +54,110 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-          
+            _skillId = (int)this.viewData;
+
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_skillId);
+            long hasNum = ItemDataManager.GetItemNum(itemCfg.id);
+            _ui.m_txtHasNum.text = "已拥有:" + hasNum;
+            getMaxCount();
+            UI_ComItem item = UI_ComItem.Proxy(_ui.m_itemSkill);
+            RarityIconController.UpdateRarityIcon(item.m_loaRarity, itemCfg.id, false);
+            string ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType, true);
+            item.m_ShowName.selectedIndex = 2;
+            item.m_txtCount.text = "1";
+            item.m_txtName.text = itemCfg.name;
+            item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg.res, ext);
+            item.m_QualityType.selectedIndex = itemCfg.rarity - 1;
+            UI_ComItem.ProxyEnd();
+
+            _ui.m_listConsume.data = itemCfg.param1Arr;
+            _ui.m_listConsume.numItems = itemCfg.param1Arr.Length;
+        }
+
+        private void RenderListConsumeItem(int index, GObject obj)
+        {
+            var itemSkill = (int[][])obj.parent.data;
+            UI_ComItem item = UI_ComItem.Proxy(obj);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemSkill[index][0]);
+            RarityIconController.UpdateRarityIcon(item.m_loaRarity, itemCfg.id, false);
+            string ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType, true);
+            item.m_CountType.selectedIndex = 1;
+            item.m_txtDecomCount.text = itemSkill[index][1].ToString();
+            item.m_txtDecomHasCount.text = "/" + ItemDataManager.GetItemNum(itemCfg.id);
+            item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg.res, ext);
+            item.m_QualityType.selectedIndex = itemCfg.rarity - 1;
+            if (item.target.data == null)
+                item.target.onClick.Add(() => { GoodsItemTipsController.ShowItemTips(itemSkill[index][0]); });
+            item.target.data = index;
+            UI_ComItem.ProxyEnd();
         }
 
         protected override void OnHide()
         {
             base.OnHide();
         }
+
+        private void getMaxCount()
+        {
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_skillId);
+            foreach (var info in itemCfg.param1Arr) {
+                long cout = ItemDataManager.GetItemNum(info[0]) / info[1];
+                if (_maxCount == 0 || _maxCount > cout)
+                    _maxCount = cout;
+            }
+        }
+
+        private void OnBtnCancelClick()
+        {
+            ViewManager.GoBackFrom(typeof(ExchangeGoodsView).FullName);
+        }
+
+        private void OnBtnUseClick()
+        {
+            //兑换物品
+        }
+
+        private void OnClickAllChoose()
+        {
+            _nowCount = _maxCount;
+            ReferViewInfo();
+            ReferSlide();
+        }
+        
+        private void OnClickBtnAdd()
+        {
+            _nowCount += 1;
+            if (_nowCount > _maxCount)
+                _nowCount = _maxCount;
+
+            ReferViewInfo();
+            ReferSlide();
+        }
+
+        private void OnClickBtnReduce()
+        {
+            _nowCount -= 1;
+            if (_nowCount < 0)
+                _nowCount = 0;
+            ReferViewInfo();
+            ReferSlide();
+        }
+
+        private void OnChangeUpLevel()
+        {
+            float volumn = (float)_ui.m_slideUpLevel.value / 100;
+            _nowCount = (int)(volumn * _maxCount);
+            ReferViewInfo();
+        }
+
+        private void ReferViewInfo()
+        {
+            _ui.m_txtChooseLevel.text = _nowCount.ToString();
+        }
+
+        private void ReferSlide()
+        {
+            _ui.m_slideUpLevel.value = (float)_nowCount / _maxCount * 100;
+        }
     }
 }

BIN
GameClient/Assets/ResIn/UI/Card/Card_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Card/Card_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Card/Card_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/Card/Card_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/Card/Card_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/Card/Card_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/Card/Card_fui.bytes


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes


BIN
GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_fui.bytes


BIN
GameClient/Assets/ResIn/UI/PopWindow/PopWindow_fui.bytes