Browse Source

小游戏补充提交

zhangyuqian 1 năm trước cách đây
mục cha
commit
f4e3cd7bd9

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Data/MiniGameDateManager.cs

@@ -9,5 +9,6 @@ namespace GFGGame
     class MiniGameDateManager : SingletonBase<MiniGameDateManager>
     {
         public List<ItemInfoProto> itemList = new List<ItemInfoProto>();
+        public List<GameInfoProto> gameinfoList = new List<GameInfoProto>();
     }
 }

+ 8 - 4
GameClient/Assets/Game/HotUpdate/ServerProxy/MiniGameProxy.cs

@@ -6,18 +6,14 @@ namespace GFGGame
     {
         public static async ETTask<bool> ReqMiniGameStart(int gameID,int gameType,int activityId)
         {
-            //C2S_GetDay7Reward
             var response = await MessageHelper.SendToServer(new C2S_MiniGameStart { GameId = gameID,GameType = gameType,ActivityId = activityId });
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             EventAgent.DispatchEvent(ConstMessage.MINI_GAME_UPDATE);
-            //奖励弹窗
-            //BonusController.TryShowBonusList(cfg.bonusArr);
             return true;
         }
 
         public static async ETTask<bool> ReqMiniGameEnd(int gameID, int gameType,int totalTime ,bool result,int activityId)
         {
-            //C2S_GetDay7Reward
             var response = (S2C_MiniGameEnd)await MessageHelper.SendToServer(new C2S_MiniGameEnd { GameId = gameID, GameType = gameType, TotalTime = totalTime, IsWin = result,ActivityId = activityId });
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
 
@@ -26,5 +22,13 @@ namespace GFGGame
             BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
             return true;
         }
+
+        public static async ETTask<bool> ReqGetChallengeReward(int activityId)
+        {
+            var response = (S2C_GetActivityGameInfos)await MessageHelper.SendToServer(new C2S_GetActivityGameInfos { ActivityId = activityId });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            MiniGameDateManager.Instance.gameinfoList = response.GameInfoList;
+            return true;
+        }
     }
 }

+ 3 - 1
GameClient/Assets/Game/HotUpdate/Views/DailyWelfare/DailySignView.cs

@@ -20,6 +20,7 @@ namespace GFGGame
 
         private GGraph m_holderSign;
         private float _signCount;
+        private int _year;
         private int _month;
         private int _day;
         private bool isOpenPanel = true;
@@ -88,6 +89,7 @@ namespace GFGGame
                     m_holderSign.visible = true;
                 }
             });
+            _year = TimeUtil.GetCurYear();
             _month = TimeUtil.GetCurMonth();
             _day = TimeUtil.GetCurDay();
             _ui.m_txtMonth.text = NumberUtil.GetOldChiniseNumberText(_month);
@@ -189,7 +191,7 @@ namespace GFGGame
                 RedDotController.Instance.SetComRedDot(item.target, canGet);
                 UI_ComProBonus.ProxyEnd();
             }
-            if (_month > dateTime.Month)
+            if (_month > dateTime.Month || _year > dateTime.Month)
             {
                 _ui.m_list.numItems = signBonusCfgs.Count > 29 ? signBonusCfgs.Count + 1 : signBonusCfgs.Count;
             }

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

@@ -8,7 +8,7 @@ using System.Reflection;
 
 namespace GFGGame
 {
-    public class ChallengeRewardView : BaseView
+    public class ChallengeRewardView : BaseWindow
     {
         private UI_ChallengeRewardsUI _ui;
 

+ 19 - 5
GameClient/Assets/Game/HotUpdate/Views/MiniGame/FlipGameView.cs

@@ -7,7 +7,7 @@ using UnityEngine;
 
 namespace GFGGame
 {
-    public class FlipGameView : BaseView
+    public class FlipGameView : BaseWindow
     {
         private UI_FlipGameUI _ui;
         //卡牌数量(配置)
@@ -48,6 +48,7 @@ namespace GFGGame
             "卓越"
         };
 
+        private List<ActivityOpenCfg> activityGameDate;
         //假数据
         private int[] cardArray = new int[] { 1,1, 2,2,  3, 3 , 4, 4 ,  5, 5 ,  6, 6 ,  8, 8 , 8, 8  };
 
@@ -107,14 +108,26 @@ namespace GFGGame
         {
             Timers.inst.Remove(UpdateTime);
             Timers.inst.Remove(UpdateBar);
-            AlertUI.Show("是否退出游戏")
+
+            string exitTip;
+            if(gameDate.bonusLoseArr.Length == 0)
+            {
+                exitTip = "退出游戏不保存进度,不扣除任何次数和道具,是否退出?";
+            }
+            else
+            {
+                exitTip = "退出游戏会按失败结算,获得80%的奖励,是否退出?";
+            }
+            AlertUI.Show(exitTip)
             .SetLeftButton(true, "取消", (object data) =>
             {
                 Timers.inst.Add(1.0f, 0, UpdateTime);
                 Timers.inst.Add(0.1f, 0, UpdateBar);
             })
-            .SetRightButton(true, "确定", (object data) =>
+            .SetRightButton(true, "确定", async (object data) =>
             {
+                var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameDate.type, timeIndex, false, activityGameDate[0].id);
+                if (!result) return;
                 this.Hide();
             });
         }
@@ -164,6 +177,7 @@ namespace GFGGame
             currentCardNum = cardNum;
             barTime = (float)gameTime;
             needNum = 2;
+            activityGameDate = ActivityOpenCfgArray.Instance.GetCfgsBytype(ConstLimitTimeActivityType.ActLimitStlyc);
             rand = new System.Random();
             //洗牌
             RandomCardList(cardArray, cardArray.Length);
@@ -173,8 +187,8 @@ namespace GFGGame
             _ui.m_ScareBar.min = 0;
             _ui.m_ScareBar.value = gameTime;
             _ui.m_star1.SetPosition(((float)(gameTime - CustemsNum[0])/(float)gameTime) * _ui.m_ScareBar.width + 70,_ui.m_star1.position.y, _ui.m_star1.position.z);
-            _ui.m_star2.SetPosition(((float)(gameTime - CustemsNum[1]) / (float)gameTime) * _ui.m_ScareBar.width + 70, _ui.m_star1.position.y, _ui.m_star1.position.z);
-            _ui.m_star3.SetPosition(((float)(gameTime - CustemsNum[2]) / (float)gameTime) * _ui.m_ScareBar.width + 70, _ui.m_star1.position.y, _ui.m_star1.position.z);
+            _ui.m_star2.SetPosition(((float)(gameTime - CustemsNum[1]) / (float)gameTime) * _ui.m_ScareBar.width, _ui.m_star1.position.y, _ui.m_star1.position.z);
+            _ui.m_star3.SetPosition(((float)(gameTime - CustemsNum[2]) / (float)gameTime) * _ui.m_ScareBar.width, _ui.m_star1.position.y, _ui.m_star1.position.z);
  
             //计时器
             Timers.inst.Add(1.0f, 0, UpdateTime);

+ 16 - 5
GameClient/Assets/Game/HotUpdate/Views/MiniGame/GameStartView.cs

@@ -8,7 +8,7 @@ using System.Text.RegularExpressions;
 
 namespace GFGGame
 {
-    public class GameStartView : BaseView
+    public class GameStartView : BaseWindow
     {
         private UI_GameStartUI _ui;
         //后续这里改成读表内容,1:CardGame,2:Merge2048Game,3:HuarongRoadGame
@@ -78,7 +78,15 @@ namespace GFGGame
             _ui.m_needNum2.text = NumTicketTwo.ToString();
             _ui.m_needIcon1.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(3000017).res);
             _ui.m_needIcon2.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(3000017).res);
-            _ui.m_ticketNum.text = "999";
+            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 OnClickBtnBack()
         {
@@ -88,13 +96,16 @@ namespace GFGGame
         {
             ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_ACTIVITY_EXCHANGE });
         }
-        private void OnClickBtnReward()
+        private async void OnClickBtnReward()
         {
+            var result = await MiniGameProxy.ReqGetChallengeReward(activityGameDate[0].id);
+            if (!result) return;
             ViewManager.Show<ChallengeRewardView>(new object[] { ChallengeList });
         }
         private void OnClickBtnAdd()
         {
-
+            object[] sourceDatas = new object[] { 3000017, null };
+            GoodsItemTipsController.ShowItemTips(3000017, sourceDatas);
         }
         private async void OnClickBtnGameOne()
         {
@@ -105,7 +116,7 @@ namespace GFGGame
         }
         private async void OnClickBtnGameTwo()
         {
-            var result = await MiniGameProxy.ReqMiniGameStart(Merge2048GameArray.Instance.GetCfgsBytypeAndsubType(GameType[2], GameType[3])[0].id, GameType[0], activityGameDate[0].id);
+            var result = await MiniGameProxy.ReqMiniGameStart(Merge2048GameArray.Instance.GetCfgsBytypeAndsubType(GameType[2], GameType[3])[0].id, GameType[2], activityGameDate[0].id);
             if (!result) return;
             //当存在关卡时需要获取后台数据,哪一关了,这个可以在关卡界面写
             ViewManager.Show($"GFGGame.{viewJumpName[GameType[2]]}",new object[] { Merge2048GameArray.Instance.GetCfgsBytypeAndsubType(GameType[2],GameType[3])[0].id });

+ 14 - 8
GameClient/Assets/Game/HotUpdate/Views/MiniGame/ResultTipsView.cs

@@ -7,14 +7,14 @@ using UnityEngine;
 
 namespace GFGGame
 {
-    public class ResultTipsView : BaseView
+    public class ResultTipsView : BaseWindow
     {
         private UI_ResultTipsUI _ui;
         private bool gameResult;
         private int timeResult;
         private int gameType;
         private int gameID;
-
+        private List<ActivityOpenCfg> activityGameDate;
         private Dictionary<int, string> viewJumpView = new Dictionary<int, string>(){{1,"FlipGameView"},{ 2,"TZFEGameView"} };
         //通关评价,不同关卡不同
         private List<int> CustemsNum = new List<int>()
@@ -104,17 +104,17 @@ namespace GFGGame
                 _ui.m_resultTxt.text = "失败奖励";
                 _ui.m_resultTitle.url = "ui://MiniGame/shibai_bt";
             }
+            activityGameDate = ActivityOpenCfgArray.Instance.GetCfgsBytype(ConstLimitTimeActivityType.ActLimitStlyc);
         }
 
         private void UpdateStar()
         {
             int starNum = 0;
-            for (int i = CustemsNum.Count - 1; i <= 0; i--)
+            for (int i = CustemsNum.Count - 1; i >= 0; i--)
             {
                 if (timeResult <= CustemsNum[i])
                 {
-                    starNum = i + 1;
-                    break;
+                    starNum += 1;
                 }
             }
             switch(starNum)
@@ -151,10 +151,16 @@ namespace GFGGame
             this.Hide();
             ViewManager.Hide(viewJumpView[gameType]);
         }
-        private void OnClickAgain()
+        private async void OnClickAgain()
         {
             this.Hide();
-            ViewManager.Show(viewJumpView[gameType]);
+            var result = await MiniGameProxy.ReqMiniGameStart(gameID, gameType, activityGameDate[0].id);
+            if (!result)
+            {
+                ViewManager.Hide(viewJumpView[gameType]);
+                return;
+            }
+            ViewManager.Show(viewJumpView[gameType],new object[] { gameID });
         }
         private void RenderRewardList(int index,GObject obj)
         {
@@ -171,7 +177,7 @@ namespace GFGGame
 
         private async void ReqResultReward()
         {
-            var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameType, timeResult, gameResult, ActivityType.ShenDuChenYou);
+            var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameType, timeResult, gameResult, activityGameDate[0].id);
             if (!result) return;
             _ui.m_rewardList.numItems = MiniGameDateManager.Instance.itemList.Count;
         }

+ 22 - 2
GameClient/Assets/Game/HotUpdate/Views/MiniGame/TZFEGameVIew.cs

@@ -7,7 +7,7 @@ using UnityEngine;
 
 namespace GFGGame
 {
-    public class TZFEGameView : BaseView
+    public class TZFEGameView : BaseWindow
     {
         private UI_TZFEGameView _ui;
 
@@ -28,6 +28,7 @@ namespace GFGGame
         private int targetNum = 128;
         private int gameID;
         private Merge2048Game gameDate;
+        private List<ActivityOpenCfg> activityGameDate;
         //评价
         private List<int> CustemsNum = new List<int>()
         {
@@ -84,6 +85,7 @@ namespace GFGGame
                 gameID = 128;
             }
             gameDate = Merge2048GameArray.Instance.GetCfg(gameID);
+            activityGameDate = ActivityOpenCfgArray.Instance.GetCfgsBytype(ConstLimitTimeActivityType.ActLimitStlyc);
             InitMap();
             UpdateView();
             UpdateList();
@@ -96,7 +98,25 @@ namespace GFGGame
 
         private void OnClickBtnBack()
         {
-            this.Hide();
+            string exitTip;
+            if (gameDate.bonusLoseArr.Length == 0)
+            {
+                exitTip = "退出游戏不保存进度,不扣除任何次数和道具,是否退出?";
+            }
+            else
+            {
+                exitTip = "退出游戏会按失败结算,获得80%的奖励,是否退出?";
+            }
+            AlertUI.Show(exitTip)
+            .SetLeftButton(true, "取消", (object data) =>
+            {
+            })
+            .SetRightButton(true, "确定",async (object data) =>
+            {
+                var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameDate.type, time, false, activityGameDate[0].id);
+                if (!result) return;
+                this.Hide();
+            });
         }
 
         private void InitMap()

BIN
GameClient/Assets/ResIn/UI/MiniGame/MiniGame_atlas0.png


+ 1 - 1
GameClient/Assets/ResIn/UI/MiniGame/MiniGame_atlas0.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: d28a3646ede2487428fc0c4145eff7b0
+guid: c39dde8a4a85c5e449388dcd9f0c3423
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

BIN
GameClient/Assets/ResIn/UI/MiniGame/MiniGame_atlas0_1.png


+ 1 - 1
GameClient/Assets/ResIn/UI/MiniGame/MiniGame_atlas0_1.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 06f407dcdf8f1a0429793d97df7f023f
+guid: 1184664cd53e3214db69902951423439
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

+ 1 - 1
GameClient/Assets/ResIn/UI/MiniGame/MiniGame_atlas0_2.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: aae34e05ffe18bb4a8bd3cae9a8b7400
+guid: 79924f58bf6c3f940b3e6b5721a4a7c8
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

+ 1 - 1
GameClient/Assets/ResIn/UI/MiniGame/MiniGame_atlas0_3.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 0e46af6e4e1eb6246b53b81fd66ca3dc
+guid: c3fb10b616d663247a4bb28363db17bb
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

+ 1 - 1
GameClient/Assets/ResIn/UI/MiniGame/MiniGame_atlas0_4.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 97a353cbadbbbed4896121645a1c2e77
+guid: 34fb3ae562607fa488f882a291e7f5b2
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

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


+ 1 - 1
GameClient/Assets/ResIn/UI/MiniGame/MiniGame_fui.bytes.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ad3b893e62749f04f8f263ade973a884
+guid: 5b2d939cb1adb2c46b028a79f3028338
 TextScriptImporter:
   externalObjects: {}
   userData: