zhaoyang 2 tahun lalu
induk
melakukan
ae4948037d

+ 21 - 0
FGUIProject/assets/Store/StoreExchangeUI.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="1080,1920" opaque="false">
+  <displayList>
+    <list id="n0_l500" name="list" xy="74,513" size="932,1316" layout="flow_hz" overflow="scroll" lineGap="30" colGap="10" defaultItem="ui://p9mtgheo10not1t" autoClearItems="true">
+      <relation target="" sidePair="bottomext-bottom"/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+    </list>
+    <component id="n2_l500" name="n2" src="hhx90" fileName="components/ComZhuangShi.xml" xy="690,1420">
+      <relation target="" sidePair="right-right,bottom-bottom"/>
+    </component>
+  </displayList>
+</component>

+ 1 - 1
FGUIProject/assets/Store/StoreGiftBagUI.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1920" opaque="false">
   <displayList>
-    <list id="n0_l500" name="list" xy="74,495" size="932,1362" layout="flow_hz" overflow="scroll" colGap="30" defaultItem="ui://p9mtgheol500tbe" autoClearItems="true">
+    <list id="n0_l500" name="list" xy="74,495" size="932,1333" layout="flow_hz" overflow="scroll" lineGap="10" colGap="30" defaultItem="ui://p9mtgheol500tbe" autoClearItems="true">
       <relation target="" sidePair="bottomext-bottom"/>
       <item/>
       <item/>

+ 1 - 0
FGUIProject/assets/Store/package.xml

@@ -134,6 +134,7 @@
     <component id="l500tbc" name="StoreGiftBagUI.xml" path="/" exported="true"/>
     <component id="l500tbe" name="ListShopItem.xml" path="/components/"/>
     <component id="l500tbf" name="StoreChargeAddUpUI.xml" path="/" exported="true"/>
+    <component id="l500tbh" name="StoreExchangeUI.xml" path="/" exported="true"/>
   </resources>
   <publish name="" path="../GameClient/Assets/ResIn/UI/Store" packageCount="2" genCode="true"/>
 </packageDescription>

+ 8 - 0
GameClient/Assets/Game/HotUpdate/Data/ShopDataManager.cs

@@ -303,6 +303,10 @@ namespace GFGGame
             {
                 return RoleDataManager.CheckIsMonthCardOpenByType(cfg.lockValue);
             }
+            else if (cfg.lockType == LockType.AREND_GRADE)
+            {
+                return ArenaDataManager.Instance.Grade >= cfg.lockValue;
+            }
             return true;
         }
         /// <summary>
@@ -326,6 +330,10 @@ namespace GFGGame
             {
                 return string.Format("开通{0}解锁", shopCfg.lockValue == MonthCardType.Gold ? "金卡" : "黑金卡");
             }
+            else if (shopCfg.lockType == LockType.AREND_GRADE)
+            {
+                return string.Format("飞花令达到{0}段位解锁", shopCfg.lockValue);
+            }
             return "";
         }
         /// <summary>

+ 102 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_ListGiftItem.cs

@@ -0,0 +1,102 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Store
+{
+    public partial class UI_ListGiftItem
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public Controller m_c2;
+        public GImage m_imgDouble;
+        public GTextField m_txtDesc;
+        public GGroup m_grpDiscount;
+        public GLoader m_icon;
+        public GTextField m_txtName;
+        public GTextField m_txtEndTime;
+        public GTextField m_txtLimit;
+        public GTextField m_txtLock;
+        public UI_Button5 m_btnBuy;
+        public const string URL = "ui://p9mtgheo10not1t";
+        public const string PACKAGE_NAME = "Store";
+        public const string RES_NAME = "ListGiftItem";
+        private static UI_ListGiftItem _proxy;
+
+        public static UI_ListGiftItem Create(GObject gObject = null)
+        {
+            var ui = new UI_ListGiftItem();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ListGiftItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ListGiftItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_c2 = comp.GetController("c2");
+            m_imgDouble = (GImage)comp.GetChild("imgDouble");
+            m_txtDesc = (GTextField)comp.GetChild("txtDesc");
+            m_grpDiscount = (GGroup)comp.GetChild("grpDiscount");
+            m_icon = (GLoader)comp.GetChild("icon");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_txtEndTime = (GTextField)comp.GetChild("txtEndTime");
+            m_txtLimit = (GTextField)comp.GetChild("txtLimit");
+            m_txtLock = (GTextField)comp.GetChild("txtLock");
+            m_btnBuy = (UI_Button5)UI_Button5.Create(comp.GetChild("btnBuy"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_c2 = null;
+            m_imgDouble = null;
+            m_txtDesc = null;
+            m_grpDiscount = null;
+            m_icon = null;
+            m_txtName = null;
+            m_txtEndTime = null;
+            m_txtLimit = null;
+            m_txtLock = null;
+            m_btnBuy.Dispose();
+            m_btnBuy = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_ListGiftItem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0b8ebd174709f8d4c93895fd4fe07205
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreExchangeUI.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Store
+{
+    public partial class UI_StoreExchangeUI
+    {
+        public GComponent target;
+        public GList m_list;
+        public const string URL = "ui://p9mtgheol500tbh";
+        public const string PACKAGE_NAME = "Store";
+        public const string RES_NAME = "StoreExchangeUI";
+        private static UI_StoreExchangeUI _proxy;
+
+        public static UI_StoreExchangeUI Create(GObject gObject = null)
+        {
+            var ui = new UI_StoreExchangeUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_StoreExchangeUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_StoreExchangeUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_list = (GList)comp.GetChild("list");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_list = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StoreExchangeUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 96fb0827a9bb7ea4ba719b022abe6cda
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 72 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StoreArenaView.cs

@@ -0,0 +1,72 @@
+using UI.Store;
+using UI.CommonGame;
+using FairyGUI;
+using System.Collections.Generic;
+using ET;
+
+namespace GFGGame
+{
+    public class StoreArenaView : BaseWindow
+    {
+        private UI_StoreExchangeUI _ui;
+        private List<ShopCfg> _shopCfgs;
+
+        public override void Dispose()
+        {
+
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_StoreExchangeUI.PACKAGE_NAME;
+            _ui = UI_StoreExchangeUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            this.clickBlankToClose = false;
+
+            _ui.m_list.itemRenderer = ListItemRenderer;
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            int menu2 = (int)this.viewData;
+            _shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_ARENA, menu2);
+            _shopCfgs = ShopDataManager.Instance.SortGiftBagCfgs(_shopCfgs);
+            _ui.m_list.numItems = _shopCfgs.Count;
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+
+
+        private void ListItemRenderer(int index, GObject obj)
+        {
+            ShopCfg shopCfg = _shopCfgs[index];
+            ShopViewManager.Instance.UptadeItem(obj, shopCfg);
+
+            UI_ListShopItem item = UI_ListShopItem.Proxy(obj);
+
+            ItemCfg costItemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.menu2 == 0 || shopCfg.menu2 == ArenaDataManager.Instance.SeasonId ? shopCfg.costId : shopCfg.oldSeasonCostId);
+            item.m_btnBuy.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(costItemCfg.res);
+
+            UI_ListShopItem.ProxyEnd();
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StoreArenaView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c91d63dac539b6045af4791af402ad13
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 65 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StoreExchangeView.cs

@@ -0,0 +1,65 @@
+using UI.Store;
+using UI.CommonGame;
+using FairyGUI;
+using System.Collections.Generic;
+using ET;
+
+namespace GFGGame
+{
+    public class StoreExchangeView : BaseWindow
+    {
+        private UI_StoreExchangeUI _ui;
+        private List<ShopCfg> _shopCfgs;
+
+        public override void Dispose()
+        {
+
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_StoreExchangeUI.PACKAGE_NAME;
+            _ui = UI_StoreExchangeUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            this.clickBlankToClose = false;
+
+            _ui.m_list.itemRenderer = ListItemRenderer;
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            int menu2 = (int)this.viewData;
+            _shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_EXCHANGE, menu2);
+            _shopCfgs = ShopDataManager.Instance.SortGiftBagCfgs(_shopCfgs);
+            _ui.m_list.numItems = _shopCfgs.Count;
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+
+
+        private void ListItemRenderer(int index, GObject obj)
+        {
+            ShopCfg shopCfg = _shopCfgs[index];
+            ShopViewManager.Instance.UptadeItem(obj, shopCfg);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StoreExchangeView.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f2330616255c1f94c9fc627edef2c506
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 14 - 4
GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs

@@ -55,7 +55,7 @@ namespace GFGGame
             _arenaSubTab.Add(new List<string>() { arenaTab.subTabArr[0][0], arenaTab.subTabArr[0][1], arenaTab.subTabArr[0][2] });
             for (int i = ArenaDataManager.Instance.SeasonId; i > 0; i--)
             {
-                _arenaSubTab.Add(new List<string>() { string.Format("第{0}赛季", i), i.ToString(), "" });
+                _arenaSubTab.Add(new List<string>() { string.Format("第{0}赛季", i), i.ToString(), "StoreArenaView" });
             }
 
             _valueBarController = new ValueBarController(_ui.m_valueBar);
@@ -158,8 +158,18 @@ namespace GFGGame
         {
 
             StoreTabCfg tabCfg = StoreTabCfgArray.Instance.GetCfg(_curTabIndex);
-
-            string viewName = tabCfg.subTabArr[index][2];
+            string viewName = "";
+            int menu2 = 0;
+            if (tabCfg.functionId == ConstFunctionId.STORE_ARENA)
+            {
+                menu2 = int.Parse(_arenaSubTab[index][1]);
+                viewName = _arenaSubTab[index][2];
+            }
+            else
+            {
+                menu2 = int.Parse(tabCfg.subTabArr[index][1]);
+                viewName = tabCfg.subTabArr[index][2];
+            }
             if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(viewName))
             {
                 _ui.m_listSubTab.selectedIndex = _curSubTabIndex;
@@ -168,7 +178,7 @@ namespace GFGGame
             ViewManager.Hide(_curViewName);
             if (!string.IsNullOrEmpty(viewName) && viewName != "“”")
             {
-                ViewManager.Show("GFGGame." + viewName, int.Parse(tabCfg.subTabArr[index][1]));
+                ViewManager.Show("GFGGame." + viewName, menu2);
             }
             _curSubTabIndex = index;
             _curViewName = "GFGGame." + viewName;

TEMPAT SAMPAH
GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes


TEMPAT SAMPAH
GameClient/Assets/ResIn/UI/Store/Store_atlas0.png


TEMPAT SAMPAH
GameClient/Assets/ResIn/UI/Store/Store_fui.bytes