浏览代码

Merge branch 'master' of http://10.108.64.190:3000/gfg/client

zhangyuqian 1 年之前
父节点
当前提交
b4c2871c1f
共有 30 个文件被更改,包括 440 次插入142 次删除
  1. 0 2
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  2. 2 0
      GameClient/Assets/Game/HotUpdate/Controller/ErrorCodeController.cs
  3. 11 7
      GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs
  4. 25 0
      GameClient/Assets/Game/HotUpdate/Data/LimitedTimeGiftBoxDataManager.cs
  5. 0 21
      GameClient/Assets/Game/HotUpdate/Data/QueueDataManager.cs
  6. 0 11
      GameClient/Assets/Game/HotUpdate/Data/QueueDataManager.cs.meta
  7. 5 1
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/DisConnected/DisConnectedCompnentSystem.cs
  8. 12 11
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Login/LoginHelper.cs
  9. 20 2
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/M2C_StartSceneChangeHandler.cs
  10. 0 24
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/SceneChangeHelper.cs
  11. 0 11
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/SceneChangeHelper.cs.meta
  12. 10 1
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Session/SessionComponentSystem.cs
  13. 1 0
      GameClient/Assets/Game/HotUpdate/ETCodes/Model/App/DisConnected/DisConnectedCompnent.cs
  14. 10 1
      GameClient/Assets/Game/HotUpdate/ETCodes/Model/App/WaitType.cs
  15. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_RushSaleGiftBoxUI.cs
  16. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxActivityUI.cs
  17. 1 1
      GameClient/Assets/Game/HotUpdate/GameConfig.cs
  18. 15 6
      GameClient/Assets/Game/HotUpdate/ServerProxy/QueueSProxy.cs
  19. 61 37
      GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/RushSaleGiftBoxView.cs
  20. 18 6
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxActivityView.cs
  21. 二进制
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0!a.png
  22. 二进制
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0.png
  23. 二进制
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_1!a.png
  24. 二进制
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_1.png
  25. 二进制
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_3!a.png
  26. 120 0
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_3!a.png.meta
  27. 二进制
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_3.png
  28. 120 0
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_3.png.meta
  29. 二进制
      GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_fui.bytes
  30. 二进制
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes

+ 0 - 2
GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs

@@ -222,7 +222,5 @@ namespace GFGGame
         //更新2048游戏关卡状态
         //更新2048游戏关卡状态
         public const string TZFE_GAME_UPDATE = "TZFE_GAME_UPDATE";
         public const string TZFE_GAME_UPDATE = "TZFE_GAME_UPDATE";
         
         
-        //服务端推送最新排队信息
-        public const string UPDATE_QUEUE = "UPDATE_QUEUE";
     }
     }
 }
 }

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Controller/ErrorCodeController.cs

@@ -9,6 +9,8 @@ namespace GFGGame
         {
         {
             switch (errorCode)
             switch (errorCode)
             {
             {
+                case ET.ErrorCode.ERR_Cancel:
+                    return true;
                 case ET.ErrorCode.ERR_NetWorkError:
                 case ET.ErrorCode.ERR_NetWorkError:
                     {
                     {
                         AlertSystem.Show("网络异常,也有可能是服务器异常,请稍后再试!")
                         AlertSystem.Show("网络异常,也有可能是服务器异常,请稍后再试!")

+ 11 - 7
GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs

@@ -248,25 +248,27 @@ namespace GFGGame
                 ErrorCodeController.Handler(errorCode);
                 ErrorCodeController.Handler(errorCode);
                 return;
                 return;
             }
             }
-            ViewManager.Hide<ModalStatusView>();
-            ViewManager.Hide<LoginView>();
-            ViewManager.Show<LoadingView>(0.01f);
-            LoadingView.Instance.SetProgress(99);
-            LoadingView.Instance.SetDesc("正在加载数据...");
-            LogServerHelper.SendNodeLog((int)LogNode.StartEnterGame);
             errorCode = await LoginHelper.EnterGame(GameGlobal.zoneScene);
             errorCode = await LoginHelper.EnterGame(GameGlobal.zoneScene);
             if (errorCode != ErrorCode.ERR_Success)
             if (errorCode != ErrorCode.ERR_Success)
             {
             {
                 ErrorCodeController.Handler(errorCode);
                 ErrorCodeController.Handler(errorCode);
                 return;
                 return;
             }
             }
+            ViewManager.Hide<ModalStatusView>();
+            ViewManager.Hide<LoginView>();
+            ViewManager.Show<LoadingView>(0.01f);
+            LoadingView.Instance.SetProgress(99);
+            LoadingView.Instance.SetDesc("正在加载数据...");
+            LogServerHelper.SendNodeLog((int)LogNode.StartEnterGame);
+            await GameGlobal.zoneScene.GetComponent<ObjectWait>().Wait<ET.WaitType.Wait_SceneChangeFinish>();
+            AlertSystem.hide();
             await GameController.PreEnterGameAsync();
             await GameController.PreEnterGameAsync();
-
             LogServerHelper.SendNodeLog((int)LogNode.OnEnterGame);
             LogServerHelper.SendNodeLog((int)LogNode.OnEnterGame);
         }
         }
 
 
         public static async ETTask ReqReConnectGate()
         public static async ETTask ReqReConnectGate()
         {
         {
+            LogUtil.LogDev("ReqReConnectGate");
             ViewManager.Show<ModalStatusView>("重新连接中...");
             ViewManager.Show<ModalStatusView>("重新连接中...");
             int errorCode = await LoginHelper.EnterGame(GameGlobal.zoneScene);
             int errorCode = await LoginHelper.EnterGame(GameGlobal.zoneScene);
             if (errorCode != ErrorCode.ERR_Success)
             if (errorCode != ErrorCode.ERR_Success)
@@ -282,8 +284,10 @@ namespace GFGGame
                         });
                         });
                 return;
                 return;
             }
             }
+            await GameGlobal.zoneScene.GetComponent<ObjectWait>().Wait<ET.WaitType.Wait_SceneChangeFinish>();
             EventAgent.DispatchEvent(ConstMessage.NUMERIC_CHANGE, NumericType.All);
             EventAgent.DispatchEvent(ConstMessage.NUMERIC_CHANGE, NumericType.All);
             GameController.OnReconnected();
             GameController.OnReconnected();
+            AlertSystem.hide();
             ViewManager.Hide<ModalStatusView>();
             ViewManager.Hide<ModalStatusView>();
         }
         }
     }
     }

+ 25 - 0
GameClient/Assets/Game/HotUpdate/Data/LimitedTimeGiftBoxDataManager.cs

@@ -19,10 +19,15 @@ namespace GFGGame
         private List<LimitedTimeGiftBoxItemYxData> _ltgGbItemData5 = new List<LimitedTimeGiftBoxItemYxData>();
         private List<LimitedTimeGiftBoxItemYxData> _ltgGbItemData5 = new List<LimitedTimeGiftBoxItemYxData>();
         public List<LimitedTimeGiftBoxItemYxData> LtgGbItemData5 => _ltgGbItemData5;
         public List<LimitedTimeGiftBoxItemYxData> LtgGbItemData5 => _ltgGbItemData5;
 
 
+        //圆形样式数据16--时间条件的数据
+        private List<LimitedTimeGiftBoxItemYxData> _ltgGbItemData16 = new List<LimitedTimeGiftBoxItemYxData>();
+        public List<LimitedTimeGiftBoxItemYxData> LtgGbItemData16 => _ltgGbItemData16;
+
         public void Clear()
         public void Clear()
         {
         {
             _ltgGbItemData4.Clear();
             _ltgGbItemData4.Clear();
             _ltgGbItemData5.Clear();
             _ltgGbItemData5.Clear();
+            _ltgGbItemData16.Clear();
             _isOpenMeiRiTeHui = false;
             _isOpenMeiRiTeHui = false;
         }
         }
 
 
@@ -75,6 +80,26 @@ namespace GFGGame
             _ltgGbItemData5 = _ltgGbItemData5.OrderBy(a => a.ShopCfgId).ToList();
             _ltgGbItemData5 = _ltgGbItemData5.OrderBy(a => a.ShopCfgId).ToList();
         }
         }
 
 
+        public void UpLtgGbItemData16()
+        {
+            _ltgGbItemData16.Clear();
+            foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
+                         ActivityType.LuckyDiscount))
+            {
+                if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
+                {
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                    //判断是否是类型4的数据
+                    if (activityOpenCfg.type == ActivityType.LuckyDiscount)
+                    {
+                        FillData(_ltgGbItemData16, activityOpenCfg.paramsArr[0], activityInfo.EndTime);
+                    }
+                }
+            }
+
+            _ltgGbItemData16 = _ltgGbItemData16.OrderBy(a => a.ShopCfgId).ToList();
+        }
+
         private void FillData(List<LimitedTimeGiftBoxItemYxData> listData, int shopCfgId, long endTime)
         private void FillData(List<LimitedTimeGiftBoxItemYxData> listData, int shopCfgId, long endTime)
         {
         {
             ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
             ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);

+ 0 - 21
GameClient/Assets/Game/HotUpdate/Data/QueueDataManager.cs

@@ -1,21 +0,0 @@
-namespace GFGGame
-{
-    public class QueueDataManager : SingletonBase<QueueDataManager>
-    {
-        public int Index { get; private set; }
-
-        public int Count { get; private set; }
-
-        public void UpQueueData(int index, int count)
-        {
-            Index = index;
-            count = count;
-        }
-
-        public void ClaerQueueData()
-        {
-            Index = 0;
-            Count = 0;
-        }
-    }
-}

+ 0 - 11
GameClient/Assets/Game/HotUpdate/Data/QueueDataManager.cs.meta

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

+ 5 - 1
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/DisConnected/DisConnectedCompnentSystem.cs

@@ -26,10 +26,14 @@ namespace ET
                         });
                         });
                         return;
                         return;
                     }
                     }
-                    else
+                    else if(self.SessionState == SessionState.Gate)
                     {
                     {
                         LoginController.ReqReConnectGate().Coroutine();
                         LoginController.ReqReConnectGate().Coroutine();
                     }
                     }
+                    else
+                    {
+                        LogUtil.LogDev("DisConnectedCompnentDestroy");
+                    }
                 }
                 }
                 else
                 else
                 {
                 {

+ 12 - 11
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Login/LoginHelper.cs

@@ -81,7 +81,7 @@ namespace ET
         {
         {
             zoneScene.GetComponent<SessionComponent>().AccountSession = accountSession;
             zoneScene.GetComponent<SessionComponent>().AccountSession = accountSession;
             accountSession.AddComponent<PingComponent>();
             accountSession.AddComponent<PingComponent>();
-            accountSession.AddComponent<DisConnectedCompnent>();
+            accountSession.AddComponent<DisConnectedCompnent>().SessionState = SessionState.Login;
             zoneScene.GetComponent<SessionComponent>().SessionState = SessionState.Login;
             zoneScene.GetComponent<SessionComponent>().SessionState = SessionState.Login;
             AccountInfoComponent accountInfoComponent = zoneScene.GetComponent<AccountInfoComponent>();
             AccountInfoComponent accountInfoComponent = zoneScene.GetComponent<AccountInfoComponent>();
             accountInfoComponent.Token = a2CLoginAccount.Token;
             accountInfoComponent.Token = a2CLoginAccount.Token;
@@ -167,7 +167,7 @@ namespace ET
 
 
             try
             try
             {
             {
-                a2C_GetRoles = (A2C_GetRoles)await zoneScene.GetComponent<SessionComponent>().AccountSession?.Call(new C2A_GetRoles()
+                a2C_GetRoles = (A2C_GetRoles)await zoneScene.GetComponent<SessionComponent>().AccountSession.Call(new C2A_GetRoles()
                 {
                 {
                     AccountId = zoneScene.GetComponent<AccountInfoComponent>().AccountId,
                     AccountId = zoneScene.GetComponent<AccountInfoComponent>().AccountId,
                     Token = zoneScene.GetComponent<AccountInfoComponent>().Token,
                     Token = zoneScene.GetComponent<AccountInfoComponent>().Token,
@@ -289,7 +289,7 @@ namespace ET
 
 
             zoneScene.GetComponent<AccountInfoComponent>().RealmKey = a2C_GetRealmKey.RealmKey;
             zoneScene.GetComponent<AccountInfoComponent>().RealmKey = a2C_GetRealmKey.RealmKey;
             zoneScene.GetComponent<AccountInfoComponent>().RealmAddress = a2C_GetRealmKey.RealmAddress;
             zoneScene.GetComponent<AccountInfoComponent>().RealmAddress = a2C_GetRealmKey.RealmAddress;
-            zoneScene.GetComponent<SessionComponent>().Disconnect();
+            zoneScene.GetComponent<SessionComponent>().DisconnectAccount();
 
 
             await ETTask.CompletedTask;
             await ETTask.CompletedTask;
             return ErrorCode.ERR_Success;
             return ErrorCode.ERR_Success;
@@ -323,10 +323,10 @@ namespace ET
                 return r2C_LoginRealm.Error;
                 return r2C_LoginRealm.Error;
             }
             }
 
 
-            Log.Debug($"GateAddress : {r2C_LoginRealm.GateAddress}");
+            LogUtil.LogDev($"GateAddress : {r2C_LoginRealm.GateAddress}");
             Session gateSession = zoneScene.GetComponent<NetKcpComponent>().Create(NetworkHelper.ToIPEndPoint(r2C_LoginRealm.GateAddress));
             Session gateSession = zoneScene.GetComponent<NetKcpComponent>().Create(NetworkHelper.ToIPEndPoint(r2C_LoginRealm.GateAddress));
             gateSession.AddComponent<PingComponent>();
             gateSession.AddComponent<PingComponent>();
-            gateSession.AddComponent<DisConnectedCompnent>();
+            gateSession.AddComponent<DisConnectedCompnent>().SessionState = SessionState.Gate;
             zoneScene.GetComponent<SessionComponent>().GateSession = gateSession;
             zoneScene.GetComponent<SessionComponent>().GateSession = gateSession;
             zoneScene.GetComponent<SessionComponent>().SessionState = SessionState.Gate;
             zoneScene.GetComponent<SessionComponent>().SessionState = SessionState.Gate;
 
 
@@ -355,7 +355,7 @@ namespace ET
                 zoneScene.GetComponent<SessionComponent>().GateSession?.Dispose();
                 zoneScene.GetComponent<SessionComponent>().GateSession?.Dispose();
                 return g2C_LoginGate.Error;
                 return g2C_LoginGate.Error;
             }
             }
-            Log.Debug("登陆gate成功!");
+            LogUtil.LogDev("登陆gate成功!");
 
 
             //3.角色正式请求进入游戏逻辑服
             //3.角色正式请求进入游戏逻辑服
             G2C_EnterGame g2C_EnterGame = null;
             G2C_EnterGame g2C_EnterGame = null;
@@ -375,12 +375,13 @@ namespace ET
                 //Log.Error(g2C_EnterGame.Error.ToString());
                 //Log.Error(g2C_EnterGame.Error.ToString());
                 return g2C_EnterGame.Error;
                 return g2C_EnterGame.Error;
             }
             }
-
-            Log.Debug("角色进入游戏成功!");
             zoneScene.GetComponent<PlayerComponent>().MyId = g2C_EnterGame.MyId;
             zoneScene.GetComponent<PlayerComponent>().MyId = g2C_EnterGame.MyId;
-            await zoneScene.GetComponent<ObjectWait>().Wait<WaitType.Wait_SceneChangeFinish>();
-
-            await ETTask.CompletedTask;
+            var result = await GameGlobal.zoneScene.GetComponent<ObjectWait>().Wait<ET.WaitType.Wait_SceneChangeStart>();
+            if(result.Error == WaitTypeError.Cancel)
+            {
+                return ErrorCode.ERR_Cancel;
+            }
+            LogUtil.LogDev("角色进入游戏成功!");
             return ErrorCode.ERR_Success;
             return ErrorCode.ERR_Success;
         }
         }
 
 

+ 20 - 2
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/M2C_StartSceneChangeHandler.cs

@@ -1,4 +1,5 @@
-using System;
+using GFGGame;
+using System;
 
 
 namespace ET
 namespace ET
 {
 {
@@ -6,7 +7,24 @@ namespace ET
     {
     {
         protected override async ETTask Run(Session session, M2C_StartSceneChange message)
         protected override async ETTask Run(Session session, M2C_StartSceneChange message)
         {
         {
-            await SceneChangeHelper.SceneChangeTo(GFGGame.GameGlobal.zoneScene, message.SceneName, message.SceneInstanceId);
+            LogUtil.LogDev("Notify Wait_SceneChangeStart");
+            // 通知等待场景切换的协程
+            GameGlobal.zoneScene.GetComponent<ObjectWait>().Notify(new WaitType.Wait_SceneChangeStart());
+
+            CurrentScenesComponent currentScenesComponent = GameGlobal.zoneScene.GetComponent<CurrentScenesComponent>();
+
+            currentScenesComponent.Scene?.Dispose(); // 删除之前的CurrentScene,创建新的
+            Scene currentScene = SceneFactory.CreateCurrentScene(message.SceneInstanceId, GameGlobal.zoneScene.Zone, message.SceneName, currentScenesComponent);
+
+            // 等待CreateMyUnit的消息
+            WaitType.Wait_CreateMyUnit waitCreateMyUnit = await GameGlobal.zoneScene.GetComponent<ObjectWait>().Wait<WaitType.Wait_CreateMyUnit>();
+            M2C_CreateMyUnit m2CCreateMyUnit = waitCreateMyUnit.Message;
+            Unit unit = UnitFactory.Create(currentScene, m2CCreateMyUnit.Unit);
+            GameGlobal.myNumericComponent = unit.GetComponent<NumericComponent>();
+
+            LogUtil.LogDev("Notify Wait_SceneChangeFinish");
+            // 通知等待场景切换的协程
+            GameGlobal.zoneScene.GetComponent<ObjectWait>().Notify(new WaitType.Wait_SceneChangeFinish());
         }
         }
     }
     }
 }
 }

+ 0 - 24
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/SceneChangeHelper.cs

@@ -1,24 +0,0 @@
-using GFGGame;
-
-namespace ET
-{
-    public static class SceneChangeHelper
-    {
-        // 场景切换协程
-        public static async ETTask SceneChangeTo(Scene zoneScene, string sceneName, long sceneInstanceId)
-        {
-            CurrentScenesComponent currentScenesComponent = zoneScene.GetComponent<CurrentScenesComponent>();
-            currentScenesComponent.Scene?.Dispose(); // 删除之前的CurrentScene,创建新的
-            Scene currentScene = SceneFactory.CreateCurrentScene(sceneInstanceId, zoneScene.Zone, sceneName, currentScenesComponent);
-
-            // 等待CreateMyUnit的消息
-            WaitType.Wait_CreateMyUnit waitCreateMyUnit = await zoneScene.GetComponent<ObjectWait>().Wait<WaitType.Wait_CreateMyUnit>();
-            M2C_CreateMyUnit m2CCreateMyUnit = waitCreateMyUnit.Message;
-            Unit unit = UnitFactory.Create(currentScene, m2CCreateMyUnit.Unit);
-            GameGlobal.myNumericComponent = unit.GetComponent<NumericComponent>();
-
-            // 通知等待场景切换的协程
-            zoneScene.GetComponent<ObjectWait>().Notify(new WaitType.Wait_SceneChangeFinish());
-        }
-    }
-}

+ 0 - 11
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Scene/SceneChangeHelper.cs.meta

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

+ 10 - 1
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Session/SessionComponentSystem.cs

@@ -5,18 +5,27 @@
 		public override void Destroy(SessionComponent self)
 		public override void Destroy(SessionComponent self)
 		{
 		{
 			self.AccountSession?.Dispose();
 			self.AccountSession?.Dispose();
+			self.AccountSession = null;
 			self.GateSession?.Dispose();
 			self.GateSession?.Dispose();
+			self.GateSession = null;
 		}
 		}
 	}
 	}
 
 
 	public static class SessionComponentComponent
 	public static class SessionComponentComponent
     {
     {
-		public static void Disconnect(this SessionComponent self)
+		public static void DisconnectAccount(this SessionComponent self)
 		{
 		{
 			self.AccountSession?.GetComponent<DisConnectedCompnent>()?.CancelAlert();
 			self.AccountSession?.GetComponent<DisConnectedCompnent>()?.CancelAlert();
 			self.AccountSession?.Dispose();
 			self.AccountSession?.Dispose();
+			self.AccountSession = null;
+		}
+
+		public static void Disconnect(this SessionComponent self)
+		{
+			self.DisconnectAccount();
 			self.GateSession?.GetComponent<DisConnectedCompnent>()?.CancelAlert();
 			self.GateSession?.GetComponent<DisConnectedCompnent>()?.CancelAlert();
 			self.GateSession?.Dispose();
 			self.GateSession?.Dispose();
+			self.GateSession = null;
 		}
 		}
     }
     }
 }
 }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/ETCodes/Model/App/DisConnected/DisConnectedCompnent.cs

@@ -3,5 +3,6 @@
     public class DisConnectedCompnent : Entity, IAwake, IDestroy
     public class DisConnectedCompnent : Entity, IAwake, IDestroy
     {
     {
         public bool ToReconnect = true;
         public bool ToReconnect = true;
+        public SessionState SessionState;
     }
     }
 }
 }

+ 10 - 1
GameClient/Assets/Game/HotUpdate/ETCodes/Model/App/WaitType.cs

@@ -21,7 +21,16 @@
 
 
             public M2C_CreateMyUnit Message;
             public M2C_CreateMyUnit Message;
         }
         }
-        
+
+        public struct Wait_SceneChangeStart : IWaitType
+        {
+            public int Error
+            {
+                get;
+                set;
+            }
+        }
+
         public struct Wait_SceneChangeFinish: IWaitType
         public struct Wait_SceneChangeFinish: IWaitType
         {
         {
             public int Error
             public int Error

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_RushSaleGiftBoxUI.cs

@@ -7,6 +7,7 @@ namespace UI.EnduringGiftBox
     public partial class UI_RushSaleGiftBoxUI
     public partial class UI_RushSaleGiftBoxUI
     {
     {
         public GComponent target;
         public GComponent target;
+        public Controller m_showType;
         public GComponent m_btnUp;
         public GComponent m_btnUp;
         public GComponent m_btnNext;
         public GComponent m_btnNext;
         public GComponent m_btnBack;
         public GComponent m_btnBack;
@@ -70,6 +71,7 @@ namespace UI.EnduringGiftBox
 
 
         private void Init(GComponent comp)
         private void Init(GComponent comp)
         {
         {
+            m_showType = comp.GetController("showType");
             m_btnUp = (GComponent)comp.GetChild("btnUp");
             m_btnUp = (GComponent)comp.GetChild("btnUp");
             m_btnNext = (GComponent)comp.GetChild("btnNext");
             m_btnNext = (GComponent)comp.GetChild("btnNext");
             m_btnBack = (GComponent)comp.GetChild("btnBack");
             m_btnBack = (GComponent)comp.GetChild("btnBack");
@@ -89,6 +91,7 @@ namespace UI.EnduringGiftBox
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
+            m_showType = null;
             m_btnUp = null;
             m_btnUp = null;
             m_btnNext = null;
             m_btnNext = null;
             m_btnBack = null;
             m_btnBack = null;

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/LuckyBox/UI_LuckyBoxActivityUI.cs

@@ -7,10 +7,12 @@ namespace UI.LuckyBox
     public partial class UI_LuckyBoxActivityUI
     public partial class UI_LuckyBoxActivityUI
     {
     {
         public GComponent target;
         public GComponent target;
+        public Controller m_showGiftBag;
         public UI_ComBox m_comBox;
         public UI_ComBox m_comBox;
         public GButton m_btnBack;
         public GButton m_btnBack;
         public GComponent m_valueBar;
         public GComponent m_valueBar;
         public GTextField m_txtTime;
         public GTextField m_txtTime;
+        public GButton m_btnLuckyDiscount;
         public GButton m_btnGiftBag;
         public GButton m_btnGiftBag;
         public UI_ComBagTime m_comBagTime;
         public UI_ComBagTime m_comBagTime;
         public GButton m_btnShop;
         public GButton m_btnShop;
@@ -62,10 +64,12 @@ namespace UI.LuckyBox
 
 
         private void Init(GComponent comp)
         private void Init(GComponent comp)
         {
         {
+            m_showGiftBag = comp.GetController("showGiftBag");
             m_comBox = (UI_ComBox)UI_ComBox.Create(comp.GetChild("comBox"));
             m_comBox = (UI_ComBox)UI_ComBox.Create(comp.GetChild("comBox"));
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_valueBar = (GComponent)comp.GetChild("valueBar");
             m_valueBar = (GComponent)comp.GetChild("valueBar");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
+            m_btnLuckyDiscount = (GButton)comp.GetChild("btnLuckyDiscount");
             m_btnGiftBag = (GButton)comp.GetChild("btnGiftBag");
             m_btnGiftBag = (GButton)comp.GetChild("btnGiftBag");
             m_comBagTime = (UI_ComBagTime)UI_ComBagTime.Create(comp.GetChild("comBagTime"));
             m_comBagTime = (UI_ComBagTime)UI_ComBagTime.Create(comp.GetChild("comBagTime"));
             m_btnShop = (GButton)comp.GetChild("btnShop");
             m_btnShop = (GButton)comp.GetChild("btnShop");
@@ -73,11 +77,13 @@ namespace UI.LuckyBox
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
+            m_showGiftBag = null;
             m_comBox.Dispose();
             m_comBox.Dispose();
             m_comBox = null;
             m_comBox = null;
             m_btnBack = null;
             m_btnBack = null;
             m_valueBar = null;
             m_valueBar = null;
             m_txtTime = null;
             m_txtTime = null;
+            m_btnLuckyDiscount = null;
             m_btnGiftBag = null;
             m_btnGiftBag = null;
             m_comBagTime.Dispose();
             m_comBagTime.Dispose();
             m_comBagTime = null;
             m_comBagTime = null;

+ 1 - 1
GameClient/Assets/Game/HotUpdate/GameConfig.cs

@@ -31,7 +31,7 @@ namespace GFGGame
             var result = JsonMapper.ToObject<Result>(json);
             var result = JsonMapper.ToObject<Result>(json);
             LoginAddress = result.loginApiUrl;
             LoginAddress = result.loginApiUrl;
             // LoginAddress = "http://login.gfg.com:10005";
             // LoginAddress = "http://login.gfg.com:10005";
-            //LoginAddress = "127.0.0.1:10005";//测试地址
+            //LoginAddress = "10.108.64.100:10005";//测试地址
             showGM = int.Parse(result.showGM);
             showGM = int.Parse(result.showGM);
             if(!string.IsNullOrEmpty(result.openTime))
             if(!string.IsNullOrEmpty(result.openTime))
             {
             {

+ 15 - 6
GameClient/Assets/Game/HotUpdate/ServerProxy/QueueSProxy.cs

@@ -6,10 +6,14 @@ namespace GFGGame
     {
     {
         protected override async ETTask Run(Session session, G2C_UpdateQueue message)
         protected override async ETTask Run(Session session, G2C_UpdateQueue message)
         {
         {
-            Log.Debug(JsonHelper.ToJson(message));
-            QueueDataManager.Instance.UpQueueData(message.Index, message.Count);
-            EventAgent.DispatchEvent(ConstMessage.UPDATE_QUEUE);
-            await ETTask.CompletedTask;
+            if(message.Index > 1)
+            {
+                AlertSystem.Show($"您前面还有{message.Index}位玩家", "当前服务器爆满,正在为您排队")
+                    .SetLeftButton(true, "取消", (obj) => {
+                        QueueSProxy.ReqSevenCancelQueue().Coroutine();
+                    });
+                await ETTask.CompletedTask;
+            }
         }
         }
     }
     }
 
 
@@ -19,10 +23,15 @@ namespace GFGGame
         /// 请求服务端取消排队
         /// 请求服务端取消排队
         /// </summary>
         /// </summary>
         /// <returns></returns>
         /// <returns></returns>
-        public static async ETTask<bool> ReqSevenCancelQueue()
+        public static async ETTask ReqSevenCancelQueue()
         {
         {
             var response = (G2C_CancelQueue)await MessageHelper.SendToServer(new C2G_CancelQueue());
             var response = (G2C_CancelQueue)await MessageHelper.SendToServer(new C2G_CancelQueue());
-            return response is { Error: ErrorCode.ERR_Success };
+            if(response.Error == ErrorCode.ERR_Success)
+            {
+                ViewManager.Hide<ModalStatusView>();
+                GameGlobal.zoneScene.GetComponent<ObjectWait>().Notify(new ET.WaitType.Wait_SceneChangeStart() { Error = WaitTypeError.Cancel});
+                GameController.QuitToLoginView(false);
+            }
         }
         }
     }
     }
 }
 }

+ 61 - 37
GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/RushSaleGiftBoxView.cs

@@ -56,6 +56,7 @@ namespace GFGGame
             _ui.m_t3.Play();
             _ui.m_t3.Play();
             LimitedTimeGiftBoxDataManager.Instance.UpLtgGbItemData4();
             LimitedTimeGiftBoxDataManager.Instance.UpLtgGbItemData4();
             LimitedTimeGiftBoxDataManager.Instance.UpLtgGbItemData5();
             LimitedTimeGiftBoxDataManager.Instance.UpLtgGbItemData5();
+            LimitedTimeGiftBoxDataManager.Instance.UpLtgGbItemData16();
             InitPageInex();
             InitPageInex();
             UpViewNone();
             UpViewNone();
         }
         }
@@ -121,61 +122,83 @@ namespace GFGGame
 
 
         public void UpTime()
         public void UpTime()
         {
         {
-            //筛选一条数据用来界面渲染
-            var list = _type == ActivityType.XSLB2
+            long endTime = 0;
+            if (_type == ActivityType.LuckyDiscount)
+            {
+                var activityOpenCfgs = ActivityOpenCfgArray.Instance.GetCfgsBytype(ConstLimitTimeActivityType.LuckyDiscount);
+                endTime = activityOpenCfgs[0].lastTime;
+            }
+            else
+            {
+                //筛选一条数据用来界面渲染
+                var list = _type == ActivityType.XSLB2
                 ? LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData4
                 ? LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData4
                 : LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData5;
                 : LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData5;
 
 
-            list = list.Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
-            if (list.Count == 0)
-            {
-                PromptController.Instance.ShowFloatTextPrompt("活动已结束");
-                this.Hide();
-                return;
+                list = list.Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
+                if (list.Count == 0)
+                {
+                    PromptController.Instance.ShowFloatTextPrompt("活动已结束");
+                    this.Hide();
+                    return;
+                }
+                endTime = list[0].EndTime;
             }
             }
-
-            _ui.m_txtBoxResidueTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
+            _ui.m_txtBoxResidueTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), endTime);
         }
         }
 
 
         private void UpdateView(ListUtil.NavigateType type)
         private void UpdateView(ListUtil.NavigateType type)
         {
         {
-            var list = _type == ActivityType.XSLB2
+            int shopCfgId = 0;
+            long endTime = 0;
+            if (_type == ActivityType.LuckyDiscount)
+            {
+                _ui.m_showType.selectedIndex = 1;
+                var activityOpenCfgs = ActivityOpenCfgArray.Instance.GetCfgsBytype(ConstLimitTimeActivityType.LuckyDiscount);
+                shopCfgId = activityOpenCfgs[0].paramsArr[0];
+                endTime = activityOpenCfgs[0].lastTime;
+            }
+            else {
+                _ui.m_showType.selectedIndex = 0;
+                var list = _type == ActivityType.XSLB2
                 ? LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData4
                 ? LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData4
                 : LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData5;
                 : LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData5;
 
 
-            list = list.Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
-            if (list.Count == 0)
-            {
-                PromptController.Instance.ShowFloatTextPrompt("活动已结束");
-                this.Hide();
-                return;
-            }
+                list = list.Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
+                if (list.Count == 0)
+                {
+                    PromptController.Instance.ShowFloatTextPrompt("活动已结束");
+                    this.Hide();
+                    return;
+                }
 
 
-            var data = ListUtil.Navigate(list, type, _pageIndex, out int newIndex);
-            _pageIndex = newIndex;
+                var data = ListUtil.Navigate(list, type, _pageIndex, out int newIndex);
+                _pageIndex = newIndex;
 
 
-            _ui.m_btnUp.visible = true;
-            _ui.m_btnNext.visible = true;
-            if (list.Count == 1)
-            {
-                _ui.m_btnUp.visible = false;
-                _ui.m_btnNext.visible = false;
-            }
-            else
-            {
-                //翻页翻到了最后一条数据
-                if (list.Count == _pageIndex + 1)
+                _ui.m_btnUp.visible = true;
+                _ui.m_btnNext.visible = true;
+                if (list.Count == 1)
                 {
                 {
+                    _ui.m_btnUp.visible = false;
                     _ui.m_btnNext.visible = false;
                     _ui.m_btnNext.visible = false;
                 }
                 }
-
-                if (_pageIndex == 0)
+                else
                 {
                 {
-                    _ui.m_btnUp.visible = false;
+                    //翻页翻到了最后一条数据
+                    if (list.Count == _pageIndex + 1)
+                    {
+                        _ui.m_btnNext.visible = false;
+                    }
+
+                    if (_pageIndex == 0)
+                    {
+                        _ui.m_btnUp.visible = false;
+                    }
                 }
                 }
+                shopCfgId = data.ShopCfgId;
+                endTime = list[0].EndTime;
             }
             }
-
-            var shopCfg = ShopCfgArray.Instance.GetCfg(data.ShopCfgId);
+            var shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
             var boxItemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
             var boxItemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
             var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
             var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
 
 
@@ -252,7 +275,7 @@ namespace GFGGame
 
 
             _ui.m_txtBoxItemName.text = shopCfg.itemName;
             _ui.m_txtBoxItemName.text = shopCfg.itemName;
             //这个B时间需要在一个地方统一处理,然后广播事件,不然可能会存在不同步的问题,最后做
             //这个B时间需要在一个地方统一处理,然后广播事件,不然可能会存在不同步的问题,最后做
-            _ui.m_txtBoxResidueTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), data.EndTime);
+            _ui.m_txtBoxResidueTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), endTime);
             _ui.m_txtUrc.text = mTxtUrc;
             _ui.m_txtUrc.text = mTxtUrc;
             _ui.m_comDiscount.m_txtDiscountNum.text =
             _ui.m_comDiscount.m_txtDiscountNum.text =
                 NumberUtil.CalculateDiscount(shopCfg.originalPrice, shopCfg.price);
                 NumberUtil.CalculateDiscount(shopCfg.originalPrice, shopCfg.price);
@@ -275,6 +298,7 @@ namespace GFGGame
             //uiItem.m_txtName.text = itemCfg.name;
             //uiItem.m_txtName.text = itemCfg.name;
             uiItem.target.data = itemCfg;
             uiItem.target.data = itemCfg;
             uiItem.m_txtCount.text = itemKv[1].ToString();
             uiItem.m_txtCount.text = itemKv[1].ToString();
+            uiItem.m_QualityType.selectedIndex = itemCfg.rarity - 1;
             uiItem.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
             uiItem.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
             uiItem.target.onClick.Add(OnListSelectorItemClick);
             uiItem.target.onClick.Add(OnListSelectorItemClick);
 
 

+ 18 - 6
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxActivityView.cs

@@ -65,6 +65,7 @@ namespace GFGGame
             _ui.m_btnReward.onClick.Add(OnClickBtnReward);
             _ui.m_btnReward.onClick.Add(OnClickBtnReward);
             _ui.m_btnShop.onClick.Add(OnClickBtnShop);
             _ui.m_btnShop.onClick.Add(OnClickBtnShop);
             _ui.m_btnGiftBag.onClick.Add(OnClickBtnGiftBag);
             _ui.m_btnGiftBag.onClick.Add(OnClickBtnGiftBag);
+            _ui.m_btnLuckyDiscount.onClick.Add(OnClickBtnLuckyDiscount);
             _effectUIDic.Add("Button_public", EffectUIPool.CreateEffectUI(_ui.m_comBox.m_btnBuyTen_eff, "ui_LuckyBox", "Button_public"));
             _effectUIDic.Add("Button_public", EffectUIPool.CreateEffectUI(_ui.m_comBox.m_btnBuyTen_eff, "ui_LuckyBox", "Button_public"));
             _effectUIDic.Add("Button_Text_DianCang", EffectUIPool.CreateEffectUI(_ui.m_comBox.m_Special_eff, "ui_LuckyBox", "Button_Text_DianCang"));
             _effectUIDic.Add("Button_Text_DianCang", EffectUIPool.CreateEffectUI(_ui.m_comBox.m_Special_eff, "ui_LuckyBox", "Button_Text_DianCang"));
         }
         }
@@ -191,8 +192,7 @@ namespace GFGGame
             var list = activityInfoByTypeList.Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             var list = activityInfoByTypeList.Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             if (list.Count == 0)
             if (list.Count == 0)
             {
             {
-                _ui.m_comBagTime.target.visible = false;
-                _ui.m_btnGiftBag.visible = false;
+                _ui.m_showGiftBag.selectedIndex = 1;
             }
             }
             else
             else
             {
             {
@@ -216,14 +216,12 @@ namespace GFGGame
 
 
                 if (isSoldOut)
                 if (isSoldOut)
                 {
                 {
-                    _ui.m_comBagTime.target.visible = false;
-                    _ui.m_btnGiftBag.visible = false;
+                    _ui.m_showGiftBag.selectedIndex = 1;
                 }
                 }
                 else
                 else
                 {
                 {
                     _ui.m_comBagTime.m_txtGiftBagTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
                     _ui.m_comBagTime.m_txtGiftBagTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
-                    _ui.m_comBagTime.target.visible = true;
-                    _ui.m_btnGiftBag.visible = true;
+                    _ui.m_showGiftBag.selectedIndex = 0;
                 }
                 }
             }
             }
         }
         }
@@ -301,6 +299,20 @@ namespace GFGGame
                 ViewManager.Show<RushSaleGiftBoxView>(new object[] { ActivityType.XSLB3, this.viewData });
                 ViewManager.Show<RushSaleGiftBoxView>(new object[] { ActivityType.XSLB3, this.viewData });
         }
         }
 
 
+        //幸运折扣按钮点击执行方法
+        private void OnClickBtnLuckyDiscount()
+        {
+            //var activityInfoByTypeList =
+            //    ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.LuckyDiscount);
+
+            //var list = activityInfoByTypeList
+            //    .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
+            //if (list.Count == 0)
+            //    PromptController.Instance.ShowFloatTextPrompt("活动已结束");
+            //else
+                ViewManager.Show<RushSaleGiftBoxView>(new object[] { ActivityType.LuckyDiscount, this.viewData });
+        }
+        
         protected override void OnHide()
         protected override void OnHide()
         {
         {
             base.OnHide();
             base.OnHide();

二进制
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0!a.png


二进制
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0.png


二进制
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_1!a.png


二进制
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_1.png


二进制
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_3!a.png


+ 120 - 0
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_3!a.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: 55283e5b13f60bc41a82721b6cd2a092
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二进制
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_3.png


+ 120 - 0
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_3.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: fb48ba929f9fc0a4fa5404e156f949cc
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二进制
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_fui.bytes


二进制
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes