Browse Source

小游戏补充提交

zhangyuqian 1 year ago
parent
commit
043cb284ed

+ 11 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/MiniGameProxy.cs

@@ -19,7 +19,7 @@ namespace GFGGame
 
             MiniGameDateManager.Instance.itemList = response.BonusList;
             //奖励弹窗
-            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            //BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
             return true;
         }
 
@@ -30,5 +30,15 @@ namespace GFGGame
             MiniGameDateManager.Instance.gameinfoList = response.GameInfoList;
             return true;
         }
+
+        public static async ETTask<bool> ReqGetReward(int gameID, int gameType,int activityId,int star)
+        {
+            var response = (S2C_GetStarMiniGameRewrd)await MessageHelper.SendToServer(new C2S_GetStarMiniGameRewrd { GameId = gameID, GameType = gameType, ActivityId = activityId,Star = star });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            MiniGameDateManager.Instance.gameinfoList[gameType-1] = response.GameInfo;
+            //奖励弹窗
+            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            return true;
+        }
     }
 }

+ 44 - 19
GameClient/Assets/Game/HotUpdate/Views/MiniGame/ChallengeRewardView.cs

@@ -19,7 +19,8 @@ namespace GFGGame
         private List<Merge2048Game> Merge2048GameDate;
         private List<HuarongRoadGame> HuarongRoadGameDate;
 
-
+        private int oneNumItems;
+        private int twoNumItems;
         public override void Dispose()
         {
 
@@ -40,7 +41,6 @@ namespace GFGGame
 
             _ui.m_exit.onClick.Add(Hide);
             _ui.m_reward.m_rewardOneList.itemRenderer = RenderListOne;
-
             _ui.m_reward.m_rewardTwoList.itemRenderer = RenderListTwo;
         }
         protected override void OnShown()
@@ -56,23 +56,24 @@ namespace GFGGame
             switch(gameList.Count)
             {
                 case 0:
-                    _ui.m_reward.m_rewardOneList.numItems = 0;
-                    _ui.m_reward.m_rewardTwoList.numItems = 0;
+                    oneNumItems = 0;
+                    twoNumItems = 0;
                     break;
                 case 2:
-                    _ui.m_reward.m_rewardOneList.numItems = 3;
-                    _ui.m_reward.m_rewardTwoList.numItems = 0;
+                    oneNumItems = 3;
+                    twoNumItems = 0;
                     break;
                 case 4:
-                    _ui.m_reward.m_rewardOneList.numItems = 3;
-                    _ui.m_reward.m_rewardTwoList.numItems = 3;
+                    oneNumItems = 3;
+                    twoNumItems = 3;
                     break;
                 default:
-                    _ui.m_reward.m_rewardOneList.numItems = 0;
-                    _ui.m_reward.m_rewardTwoList.numItems = 0;
+                    oneNumItems = 0;
+                    twoNumItems = 0;
                     break;
             }
-
+            _ui.m_reward.m_rewardOneList.numItems = oneNumItems;
+            _ui.m_reward.m_rewardTwoList.numItems = twoNumItems;
 
         }
         protected override void OnHide()
@@ -87,16 +88,22 @@ namespace GFGGame
             item.m_rewardDesc.text = string.Format("{0}游戏首次{1}星通关",MiniGameArray.Instance.GetCfg(gameList[0]).typeName, starNum);
             item.m_rewardList.itemRenderer = RenditemReward;
             //var reward;
-            item.m_rewardList.data = 1;
-
-  
+            item.m_getBtn.m_c1.selectedIndex = MiniGameDateManager.Instance.gameinfoList[0].StarRewardStatus[2 - index];
+            item.m_rewardList.data = gameList[0];
             item.m_rewardList.numItems = CardGameDate[0].bonusStar3Arr.Length;
 
             if (item.m_getBtn.target.data == null)
             {
                 item.m_getBtn.target.onClick.Add(OnBtnGoClick);
             }
-            item.m_getBtn.target.data = 1;
+            List<int> rewardList = new List<int>();
+            List<int> starList = new List<int>() { CardGameDate[0].timeStar3, CardGameDate[0].timeStar2, CardGameDate[0].timeStar1 };
+            rewardList.Add(CardGameDate[0].id);
+            rewardList.Add(CardGameDate[0].type);
+            rewardList.Add(1);
+            rewardList.Add(3-index);
+            rewardList.Add(MiniGameDateManager.Instance.gameinfoList[0].StarRewardStatus[2 - index]);
+            item.m_getBtn.target.data = rewardList;
             UI_ChallengeRewardItemUI.ProxyEnd();
         }
         private void RenderListTwo(int index , GObject obj)
@@ -107,14 +114,22 @@ namespace GFGGame
             item.m_rewardList.itemRenderer = RenditemReward;
             //读表
             //var reward;
-            item.m_rewardList.data = 2;
+            item.m_getBtn.m_c1.selectedIndex = MiniGameDateManager.Instance.gameinfoList[1].StarRewardStatus[2 - index];
+            item.m_rewardList.data = gameList[2];
             item.m_rewardList.numItems = Merge2048GameDate[0].bonusStar3Arr.Length;
 
             if (item.m_getBtn.target.data == null)
             {
                 item.m_getBtn.target.onClick.Add(OnBtnGoClick);
             }
-            item.m_getBtn.target.data = 1;
+            List<int> rewardList = new List<int>();
+            List<int> starList = new List<int>() { Merge2048GameDate[0].timeStar3, Merge2048GameDate[0].timeStar2, Merge2048GameDate[0].timeStar1 };
+            rewardList.Add(CardGameDate[0].id);
+            rewardList.Add(CardGameDate[0].type);
+            rewardList.Add(1);
+            rewardList.Add(3 - index);
+            rewardList.Add(MiniGameDateManager.Instance.gameinfoList[1].StarRewardStatus[2 - index]);
+            item.m_getBtn.target.data = rewardList;
             UI_ChallengeRewardItemUI.ProxyEnd();
         }
         private void RenditemReward(int index, GObject obj)
@@ -164,9 +179,19 @@ namespace GFGGame
             UI_ChallengeRewardItem.ProxyEnd();
 
         }
-        private void OnBtnGoClick()
+        private async void OnBtnGoClick(EventContext context)
         {
-            //读表和后台协议
+
+            if (!(context.sender is GObject btnGet)) return;
+            List<int> itemList = btnGet.data as List<int>;
+            if(itemList[4] != 1)
+            {
+                return;
+            }
+            var result = await MiniGameProxy.ReqGetReward(itemList[0], itemList[1], itemList[2], itemList[3]);
+            if (!result) return;
+            _ui.m_reward.m_rewardOneList.numItems = oneNumItems;
+            _ui.m_reward.m_rewardTwoList.numItems = twoNumItems;
         }
         private void GetGameArray(int i,int j,int index)
         {

+ 1 - 2
GameClient/Assets/Game/HotUpdate/Views/MiniGame/FlipGameView.cs

@@ -137,8 +137,7 @@ namespace GFGGame
             UI_cardItem cardItem = UI_cardItem.Proxy(item);
             Dictionary<string, int> itemInfo = new Dictionary<string, int>();
 
-            //备注的后续都读表
-            //cardItem.m_icon.url = "";
+            //cardItem.m_card.GetChild("icon").icon = "ui://MiniGame/";
             if (cardItem.target.data == null)
             {
                 cardItem.target.onClick.Add(OnClickCardItem);

+ 30 - 4
GameClient/Assets/Game/HotUpdate/Views/MiniGame/GameStartView.cs

@@ -56,6 +56,17 @@ namespace GFGGame
             GetGameIdByActivityDate();
             UpdateChallengeBtn();
             UpdateView();
+            ReqChallageReward();
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.MINI_GAME_UPDATE, OnNumericChange);
+        }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.AddEventListener(ConstMessage.MINI_GAME_UPDATE, OnNumericChange);
         }
         protected override void OnHide()
         {
@@ -96,11 +107,15 @@ namespace GFGGame
         {
             ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_ACTIVITY_EXCHANGE });
         }
-        private async void OnClickBtnReward()
+        private void OnClickBtnReward()
+        {
+            ViewManager.Show<ChallengeRewardView>(new object[] { ChallengeList });
+        }
+
+        private async void ReqChallageReward()
         {
             var result = await MiniGameProxy.ReqGetChallengeReward(activityGameDate[0].id);
             if (!result) return;
-            ViewManager.Show<ChallengeRewardView>(new object[] { ChallengeList });
         }
         private void OnClickBtnAdd()
         {
@@ -112,7 +127,6 @@ namespace GFGGame
             var result = await MiniGameProxy.ReqMiniGameStart(CardGameArray.Instance.GetCfgsBytypeAndsubType(GameType[0], GameType[1])[0].id, GameType[0], activityGameDate[0].id);
             if (!result) return;
             ViewManager.Show($"GFGGame.{viewJumpName[GameType[0]]}", new object[] { CardGameArray.Instance.GetCfgsBytypeAndsubType(GameType[0], GameType[1])[0].id });
-            this.Hide();
         }
         private async void OnClickBtnGameTwo()
         {
@@ -120,7 +134,6 @@ namespace GFGGame
             if (!result) return;
             //当存在关卡时需要获取后台数据,哪一关了,这个可以在关卡界面写
             ViewManager.Show($"GFGGame.{viewJumpName[GameType[2]]}",new object[] { Merge2048GameArray.Instance.GetCfgsBytypeAndsubType(GameType[2],GameType[3])[0].id });
-            this.Hide();
         }
 
         private void GetGameIdByActivityDate()
@@ -137,6 +150,19 @@ namespace GFGGame
 
         }
 
+        private void OnNumericChange()
+        {
+            ItemData item;
+            if (BagDataManager.Instance.GetBagData().TryGetValue(3000017, out item))
+            {
+                _ui.m_ticketNum.text = item.num.ToString();
+            }
+            else
+            {
+                _ui.m_ticketNum.text = "0";
+            }
+        }
+
         private void UpdateChallengeBtn()
         {
             int index = 0;

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/OpenServerActivity/OpenServerActivityView.cs

@@ -89,7 +89,7 @@ namespace GFGGame
         private void OnClickBtnHeaven()
         {
             //小游戏入口
-            PromptController.Instance.ShowFloatTextPrompt("暂未开启");
+            ViewManager.Show<GameStartView>();
             //ViewManager.Show<ActivityThemeLuckyBoxView>(null, true);
         }
 

BIN
GameClient/Assets/ResIn/UI/MiniGame/MiniGame_fui.bytes