Przeglądaj źródła

小游戏补充提交

zhangyuqian 1 rok temu
rodzic
commit
5274411d48

+ 4 - 4
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MiniGame/UI_GameStartUI.cs

@@ -15,11 +15,11 @@ namespace UI.MiniGame
         public GLoader m_addIcon;
         public GTextField m_ticketNum;
         public GLoader m_game1;
-        public GImage m_tipsOne;
+        public GLoader m_tipsOne;
         public GLoader m_needIcon1;
         public GTextField m_needNum1;
         public GLoader m_game2;
-        public GImage m_tipsTwo;
+        public GLoader m_tipsTwo;
         public GLoader m_needIcon2;
         public GTextField m_needNum2;
         public const string URL = "ui://wgkh30qjlw8c21";
@@ -77,11 +77,11 @@ namespace UI.MiniGame
             m_addIcon = (GLoader)comp.GetChild("addIcon");
             m_ticketNum = (GTextField)comp.GetChild("ticketNum");
             m_game1 = (GLoader)comp.GetChild("game1");
-            m_tipsOne = (GImage)comp.GetChild("tipsOne");
+            m_tipsOne = (GLoader)comp.GetChild("tipsOne");
             m_needIcon1 = (GLoader)comp.GetChild("needIcon1");
             m_needNum1 = (GTextField)comp.GetChild("needNum1");
             m_game2 = (GLoader)comp.GetChild("game2");
-            m_tipsTwo = (GImage)comp.GetChild("tipsTwo");
+            m_tipsTwo = (GLoader)comp.GetChild("tipsTwo");
             m_needIcon2 = (GLoader)comp.GetChild("needIcon2");
             m_needNum2 = (GTextField)comp.GetChild("needNum2");
         }

+ 33 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MiniGame/UI_SyntheticRouteTipUI.cs

@@ -8,6 +8,17 @@ namespace UI.MiniGame
     {
         public GComponent target;
         public GLoader m_bg;
+        public GLoader m_icon2;
+        public GLoader m_icon4;
+        public GLoader m_icon8;
+        public GLoader m_icon16;
+        public GLoader m_icon32;
+        public GLoader m_icon64;
+        public GLoader m_icon128;
+        public GLoader m_icon256;
+        public GLoader m_icon512;
+        public GLoader m_dic256;
+        public GLoader m_dic512;
         public const string URL = "ui://wgkh30qjlw8c1n";
         public const string PACKAGE_NAME = "MiniGame";
         public const string RES_NAME = "SyntheticRouteTipUI";
@@ -56,10 +67,32 @@ namespace UI.MiniGame
         private void Init(GComponent comp)
         {
             m_bg = (GLoader)comp.GetChild("bg");
+            m_icon2 = (GLoader)comp.GetChild("icon2");
+            m_icon4 = (GLoader)comp.GetChild("icon4");
+            m_icon8 = (GLoader)comp.GetChild("icon8");
+            m_icon16 = (GLoader)comp.GetChild("icon16");
+            m_icon32 = (GLoader)comp.GetChild("icon32");
+            m_icon64 = (GLoader)comp.GetChild("icon64");
+            m_icon128 = (GLoader)comp.GetChild("icon128");
+            m_icon256 = (GLoader)comp.GetChild("icon256");
+            m_icon512 = (GLoader)comp.GetChild("icon512");
+            m_dic256 = (GLoader)comp.GetChild("dic256");
+            m_dic512 = (GLoader)comp.GetChild("dic512");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_bg = null;
+            m_icon2 = null;
+            m_icon4 = null;
+            m_icon8 = null;
+            m_icon16 = null;
+            m_icon32 = null;
+            m_icon64 = null;
+            m_icon128 = null;
+            m_icon256 = null;
+            m_icon512 = null;
+            m_dic256 = null;
+            m_dic512 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 9 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/MiniGame/UI_TZFEGameView.cs

@@ -11,6 +11,9 @@ namespace UI.MiniGame
         public GList m_numList;
         public GLoader m_backBtn;
         public GTextField m_score;
+        public GLoader m_star3;
+        public GLoader m_star2;
+        public GLoader m_star1;
         public GLoader m_target;
         public GTextField m_time;
         public GTextField m_timeNum;
@@ -66,6 +69,9 @@ namespace UI.MiniGame
             m_numList = (GList)comp.GetChild("numList");
             m_backBtn = (GLoader)comp.GetChild("backBtn");
             m_score = (GTextField)comp.GetChild("score");
+            m_star3 = (GLoader)comp.GetChild("star3");
+            m_star2 = (GLoader)comp.GetChild("star2");
+            m_star1 = (GLoader)comp.GetChild("star1");
             m_target = (GLoader)comp.GetChild("target");
             m_time = (GTextField)comp.GetChild("time");
             m_timeNum = (GTextField)comp.GetChild("timeNum");
@@ -77,6 +83,9 @@ namespace UI.MiniGame
             m_numList = null;
             m_backBtn = null;
             m_score = null;
+            m_star3 = null;
+            m_star2 = null;
+            m_star1 = null;
             m_target = null;
             m_time = null;
             m_timeNum = null;

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

@@ -12,13 +12,17 @@ namespace GFGGame
             return true;
         }
 
-        public static async ETTask<bool> ReqMiniGameEnd(int gameID, int gameType,int totalTime ,bool result,int activityId)
+        public static async ETTask<bool> ReqMiniGameEnd(int gameID, int gameType,int totalTime ,bool result,int activityId,bool show)
         {
             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;
 
             MiniGameDateManager.Instance.itemList = response.BonusList;
             //奖励弹窗
+            if(show)
+            {
+                BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
+            }
             //BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
             return true;
         }

+ 7 - 1
GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs

@@ -30,6 +30,7 @@ namespace GFGGame
         public static readonly string Shader_DIR_PATH = $"{RES_ROOT_DIR_PATH}/Shader";
         public static readonly string Model_DIR_PATH = $"{RES_ROOT_DIR_PATH}/model";
         public static readonly string STUDIO_FILING_DIR_PATH = $"{RES_ROOT_DIR_PATH}/Texture/Studios/CYJD/";
+        public static readonly string MINIGAME_DIR_PATH = $"{TEXTURE_DIR_PATH}/MiniGame/";
 
         public static readonly string SQLITE_FILE_PATH = CONFIG_DIR_PATH + "/" + LauncherConfig.SQL_FILE_NAME;
 
@@ -270,10 +271,15 @@ namespace GFGGame
         {
             return $"{STUDIO_FILING_DIR_PATH}{res}.{extName}";
         }
-
+        
         public static string GetStoryDialogCGPath(string dir, string res, string extName = "prefab")
         {
             return $"{ANIMATION_DIR_PATH}/{dir}/{res}.{extName}";
         }
+
+        public static string GetMiniGamePicPath(string res, string extName = "png")
+        {
+            return $"{MINIGAME_DIR_PATH}{res}.{extName}";
+        }
     }
 }

+ 25 - 6
GameClient/Assets/Game/HotUpdate/Views/MiniGame/FlipGameView.cs

@@ -28,7 +28,7 @@ namespace GFGGame
         //进度条
         private float barTime = 120.0f;
         //行数
-        private int rows = 0;
+        private int rows = 4;
         //列数
         private int columns = 4;
         private int gameID;
@@ -50,7 +50,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  };
+        private List<int> cardArray = new List<int> { 1,1, 2,2,  3, 3 , 4, 4 ,  5, 5 ,  6, 6 ,  8, 8 , 8, 8  };
 
         Card _c1 = new Card();
         private float waitTime = 0.6f;
@@ -90,6 +90,7 @@ namespace GFGGame
                 gameID = 10001;
             }
             gameDate = CardGameArray.Instance.GetCfg(gameID);
+
             UpdateView();
             UpdateList();
         }
@@ -126,7 +127,7 @@ namespace GFGGame
             })
             .SetRightButton(true, "确定", async (object data) =>
             {
-                var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameDate.type, timeIndex, false, activityGameDate[0].id);
+                var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameDate.type, timeIndex, false, activityGameDate[0].id,true);
                 if (!result) return;
                 this.Hide();
             });
@@ -137,7 +138,7 @@ namespace GFGGame
             UI_cardItem cardItem = UI_cardItem.Proxy(item);
             Dictionary<string, int> itemInfo = new Dictionary<string, int>();
 
-            //cardItem.m_card.GetChild("icon").icon = "ui://MiniGame/";
+            cardItem.m_card.GetChild("icon").icon = ResPathUtil.GetMiniGamePicPath(CardCfgArray.Instance.dataArray[cardArray[index]].resName);
             if (cardItem.target.data == null)
             {
                 cardItem.target.onClick.Add(OnClickCardItem);
@@ -173,13 +174,15 @@ namespace GFGGame
             }
             timeIndex = 0;
             currentGameTime = gameTime;
+            cardNum = columns * rows;
             currentCardNum = cardNum;
             barTime = (float)gameTime;
             needNum = 2;
             activityGameDate = ActivityOpenCfgArray.Instance.GetCfgsBytype(ConstLimitTimeActivityType.ActLimitStlyc);
             rand = new System.Random();
             //洗牌
-            RandomCardList(cardArray, cardArray.Length);
+            RandomGetNum();
+            RandomCardList(cardArray, cardArray.Count);
             //
             _ui.m_timeText.text = string.Format("{0}", currentGameTime);
             _ui.m_ScareBar.max = gameTime;
@@ -327,7 +330,7 @@ namespace GFGGame
             ViewManager.Show<ResultTipsView>(new object[] { isPass, gameDate.type, timeIndex, gameDate.id });
         }
         //洗牌
-        private void RandomCardList(int[] array, int length)
+        private void RandomCardList(List<int> array, int length)
         {
             int index;
             int value;
@@ -340,5 +343,21 @@ namespace GFGGame
             }
         }
 
+        private void RandomGetNum()
+        {
+            int numCount = CardCfgArray.Instance.dataArray.Length;
+            List<int> tArray = new List<int>();
+            for(int i=0;i<numCount;i++)
+            {
+                tArray.Add(i + 1);
+            }
+            RandomCardList(tArray, numCount);
+            for(int i = 0;i <cardNum;i+=2)
+            {
+                cardArray[i] = tArray[i];
+                cardArray[i + 1] = tArray[i];
+            }
+        }
+
     }
 }

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

@@ -47,6 +47,8 @@ namespace GFGGame
             _ui.m_shopBtn.onClick.Add(OnClickBtnShop);
             _ui.m_addIcon.onClick.Add(OnClickBtnAdd);
             _ui.m_rewardBtn.onClick.Add(OnClickBtnReward);
+            _ui.m_tipsOne.onClick.Add(RuleController.ShowRuleView);
+            _ui.m_tipsTwo.onClick.Add(RuleController.ShowRuleView);
         }
 
         protected override void OnShown()
@@ -89,6 +91,8 @@ 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_tipsOne.data = 300026;
+            _ui.m_tipsTwo.data = 300027;
             ItemData item;
             if (BagDataManager.Instance.GetBagData().TryGetValue(3000017,out item))
             {

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

@@ -177,7 +177,7 @@ namespace GFGGame
 
         private async void ReqResultReward()
         {
-            var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameType, timeResult, gameResult, activityGameDate[0].id);
+            var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameType, timeResult, gameResult, activityGameDate[0].id,false);
             if (!result) return;
             _ui.m_rewardList.numItems = MiniGameDateManager.Instance.itemList.Count;
         }

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

@@ -7,9 +7,12 @@ using UnityEngine;
 
 namespace GFGGame
 {
-    public class SyntheticRoutetipView : BaseView
+    public class SyntheticRoutetipView : BaseWindow
     {
         private UI_SyntheticRouteTipUI _ui;
+        private int target;
+        private int srcID;
+        private Dictionary<int, GLoader> iconDic = new Dictionary<int, GLoader>();
         public override void Dispose()
         {
 
@@ -29,10 +32,43 @@ namespace GFGGame
             isfullScreen = true;
 
             _ui.m_bg.onClick.Add(Hide);
+
+            iconDic.Add(2, _ui.m_icon2);
+            iconDic.Add(4, _ui.m_icon4);
+            iconDic.Add(8, _ui.m_icon8);
+            iconDic.Add(16, _ui.m_icon16);
+            iconDic.Add(32, _ui.m_icon32);
+            iconDic.Add(64, _ui.m_icon64);
+            iconDic.Add(128, _ui.m_icon128);
+            iconDic.Add(256, _ui.m_icon256);
+            iconDic.Add(512, _ui.m_icon512);
         }
         protected override void OnShown()
         {
             base.OnShown();
+            target = (int)(this.viewData as object[])[0];
+            srcID = (int)(this.viewData as object[])[1];
+
+
+            switch (target)
+            {
+                case 128:
+                    _ui.m_icon256.visible = false;
+                    _ui.m_icon512.visible = false;
+                    _ui.m_dic256.visible = false;
+                    _ui.m_dic512.visible = false;
+                    break;
+                case 256:
+                    _ui.m_icon512.visible = false;
+                    _ui.m_dic512.visible = false;
+                    break;
+                default:
+                    break;
+            }
+            for(int i = target; i>=2 ; i= i/2 )
+            {
+                iconDic[i].url = ResPathUtil.GetMiniGamePicPath(Merge2048CfgArray.Instance.GetCfgsByidAndnum(srcID,i)[0].resName);
+            }
         }
         protected override void OnHide()
         {

+ 45 - 3
GameClient/Assets/Game/HotUpdate/Views/MiniGame/TZFEGameVIew.cs

@@ -113,7 +113,7 @@ namespace GFGGame
             })
             .SetRightButton(true, "确定",async (object data) =>
             {
-                var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameDate.type, time, false, activityGameDate[0].id);
+                var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameDate.type, time, false, activityGameDate[0].id,true);
                 if (!result) return;
                 this.Hide();
             });
@@ -132,6 +132,11 @@ namespace GFGGame
             time = 0;
             score = 0;
             targetNum = Merge2048GameArray.Instance.GetCfg(gameID).targetNum;
+            CustemsNum[0] = Merge2048GameArray.Instance.GetCfg(gameID).timeStar3;
+            CustemsNum[1] = Merge2048GameArray.Instance.GetCfg(gameID).timeStar2;
+            CustemsNum[2] = Merge2048GameArray.Instance.GetCfg(gameID).timeStar1;
+            _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star";
+            _ui.m_target.url = string.Format("ui://MiniGame/sgll2_{0}", targetNum);
             _ui.m_score.text = string.Format("分数:{0}", score.ToString());
             _ui.m_score.visible = false;
             rand = new System.Random();
@@ -158,7 +163,8 @@ namespace GFGGame
             }
             else
             {
-                numItem.m_icon.url = string.Format("ui://MiniGame/sgll2_{0}", Map[x, y]);
+                //numItem.m_icon.url = string.Format("ui://MiniGame/sgll2_{0}", Map[x, y]);
+                numItem.m_icon.url = ResPathUtil.GetMiniGamePicPath(Merge2048CfgArray.Instance.GetCfgsByidAndnum(gameDate.subType, Map[x, y])[0].resName);
                 numItem.m_icon.visible = true;
             }
             //播放生成和合并动效
@@ -500,12 +506,48 @@ namespace GFGGame
 
         private void OnClickMergeTips()
         {
-            ViewManager.Show<SyntheticRoutetipView>() ;
+            ViewManager.Show<SyntheticRoutetipView>(new object[] { targetNum , gameDate.subType}) ;
         }
         private void UpdateTime(object param = null)
         {
             _ui.m_timeNum.text = sec_to_hms(time);
             time++;
+            UpdateStar();
+        }
+
+        private void UpdateStar()
+        {
+            int starNum = 0;
+            for (int i = CustemsNum.Count - 1; i >= 0; i--)
+            {
+                if (time <= CustemsNum[i])
+                {
+                    starNum += 1;
+                }
+            }
+            switch (starNum)
+            {
+                case 1:
+                    _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star";
+                    _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star_grey";
+                    _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star_grey";
+                    break;
+                case 2:
+                    _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star";
+                    _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star";
+                    _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star_grey";
+                    break;
+                case 3:
+                    _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star";
+                    _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star";
+                    _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star";
+                    break;
+                default:
+                    _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star_grey";
+                    _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star_grey";
+                    _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star_grey";
+                    break;
+            }
         }
 
         //将秒数转化为时分秒 duration为秒数

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

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

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

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

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

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

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

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

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

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 34fb3ae562607fa488f882a291e7f5b2
+guid: 225607aabd8697b49a16ef2c8fc1d3c8
 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: 5b2d939cb1adb2c46b028a79f3028338
+guid: 4f5a6dd9a6bb7ae44befd5fb1fdbf776
 TextScriptImporter:
   externalObjects: {}
   userData: