Browse Source

开服活动抽奖增加幸运折扣活动

huangxiaoyue 1 năm trước cách đây
mục cha
commit
74fb3d853b

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

@@ -19,10 +19,15 @@ namespace GFGGame
         private List<LimitedTimeGiftBoxItemYxData> _ltgGbItemData5 = new List<LimitedTimeGiftBoxItemYxData>();
         public List<LimitedTimeGiftBoxItemYxData> LtgGbItemData5 => _ltgGbItemData5;
 
+        //圆形样式数据16--时间条件的数据
+        private List<LimitedTimeGiftBoxItemYxData> _ltgGbItemData16 = new List<LimitedTimeGiftBoxItemYxData>();
+        public List<LimitedTimeGiftBoxItemYxData> LtgGbItemData16 => _ltgGbItemData16;
+
         public void Clear()
         {
             _ltgGbItemData4.Clear();
             _ltgGbItemData5.Clear();
+            _ltgGbItemData16.Clear();
             _isOpenMeiRiTeHui = false;
         }
 
@@ -75,6 +80,26 @@ namespace GFGGame
             _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)
         {
             ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);

+ 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 GComponent target;
+        public Controller m_showType;
         public GComponent m_btnUp;
         public GComponent m_btnNext;
         public GComponent m_btnBack;
@@ -70,6 +71,7 @@ namespace UI.EnduringGiftBox
 
         private void Init(GComponent comp)
         {
+            m_showType = comp.GetController("showType");
             m_btnUp = (GComponent)comp.GetChild("btnUp");
             m_btnNext = (GComponent)comp.GetChild("btnNext");
             m_btnBack = (GComponent)comp.GetChild("btnBack");
@@ -89,6 +91,7 @@ namespace UI.EnduringGiftBox
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_showType = null;
             m_btnUp = null;
             m_btnNext = 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 GComponent target;
+        public Controller m_showGiftBag;
         public UI_ComBox m_comBox;
         public GButton m_btnBack;
         public GComponent m_valueBar;
         public GTextField m_txtTime;
+        public GButton m_btnLuckyDiscount;
         public GButton m_btnGiftBag;
         public UI_ComBagTime m_comBagTime;
         public GButton m_btnShop;
@@ -62,10 +64,12 @@ namespace UI.LuckyBox
 
         private void Init(GComponent comp)
         {
+            m_showGiftBag = comp.GetController("showGiftBag");
             m_comBox = (UI_ComBox)UI_ComBox.Create(comp.GetChild("comBox"));
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_valueBar = (GComponent)comp.GetChild("valueBar");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
+            m_btnLuckyDiscount = (GButton)comp.GetChild("btnLuckyDiscount");
             m_btnGiftBag = (GButton)comp.GetChild("btnGiftBag");
             m_comBagTime = (UI_ComBagTime)UI_ComBagTime.Create(comp.GetChild("comBagTime"));
             m_btnShop = (GButton)comp.GetChild("btnShop");
@@ -73,11 +77,13 @@ namespace UI.LuckyBox
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_showGiftBag = null;
             m_comBox.Dispose();
             m_comBox = null;
             m_btnBack = null;
             m_valueBar = null;
             m_txtTime = null;
+            m_btnLuckyDiscount = null;
             m_btnGiftBag = null;
             m_comBagTime.Dispose();
             m_comBagTime = null;

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

@@ -56,6 +56,7 @@ namespace GFGGame
             _ui.m_t3.Play();
             LimitedTimeGiftBoxDataManager.Instance.UpLtgGbItemData4();
             LimitedTimeGiftBoxDataManager.Instance.UpLtgGbItemData5();
+            LimitedTimeGiftBoxDataManager.Instance.UpLtgGbItemData16();
             InitPageInex();
             UpViewNone();
         }
@@ -121,61 +122,83 @@ namespace GFGGame
 
         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.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)
         {
-            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.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;
                 }
-
-                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 remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
 
@@ -252,7 +275,7 @@ namespace GFGGame
 
             _ui.m_txtBoxItemName.text = shopCfg.itemName;
             //这个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_comDiscount.m_txtDiscountNum.text =
                 NumberUtil.CalculateDiscount(shopCfg.originalPrice, shopCfg.price);
@@ -275,6 +298,7 @@ namespace GFGGame
             //uiItem.m_txtName.text = itemCfg.name;
             uiItem.target.data = itemCfg;
             uiItem.m_txtCount.text = itemKv[1].ToString();
+            uiItem.m_QualityType.selectedIndex = itemCfg.rarity - 1;
             uiItem.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
             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_btnShop.onClick.Add(OnClickBtnShop);
             _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_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();
             if (list.Count == 0)
             {
-                _ui.m_comBagTime.target.visible = false;
-                _ui.m_btnGiftBag.visible = false;
+                _ui.m_showGiftBag.selectedIndex = 1;
             }
             else
             {
@@ -216,14 +216,12 @@ namespace GFGGame
 
                 if (isSoldOut)
                 {
-                    _ui.m_comBagTime.target.visible = false;
-                    _ui.m_btnGiftBag.visible = false;
+                    _ui.m_showGiftBag.selectedIndex = 1;
                 }
                 else
                 {
                     _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 });
         }
 
+        //幸运折扣按钮点击执行方法
+        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()
         {
             base.OnHide();

BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0.png


BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0_1.png


BIN
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: 

BIN
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: 

BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_fui.bytes


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes