Эх сурвалжийг харах

添加华容道通关逻辑;修改华容道图片加载路径

leiyasi 1 жил өмнө
parent
commit
9dc7f8e18b

+ 0 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_RoleInfoUI.cs

@@ -30,7 +30,6 @@ namespace UI.RoleInfo
         public GButton m_btnSkill;
         public GTextField m_txtRoleID;
         public GButton m_btnCopy;
-        public GButton m_btnHuaRongDao;
         public GButton m_btnSetting;
         public Transition m_Hide;
         public Transition m_Show;
@@ -104,7 +103,6 @@ namespace UI.RoleInfo
             m_btnSkill = (GButton)comp.GetChild("btnSkill");
             m_txtRoleID = (GTextField)comp.GetChild("txtRoleID");
             m_btnCopy = (GButton)comp.GetChild("btnCopy");
-            m_btnHuaRongDao = (GButton)comp.GetChild("btnHuaRongDao");
             m_btnSetting = (GButton)comp.GetChild("btnSetting");
             m_Hide = comp.GetTransition("Hide");
             m_Show = comp.GetTransition("Show");
@@ -137,7 +135,6 @@ namespace UI.RoleInfo
             m_btnSkill = null;
             m_txtRoleID = null;
             m_btnCopy = null;
-            m_btnHuaRongDao = null;
             m_btnSetting = null;
             m_Hide = null;
             m_Show = null;

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs

@@ -289,5 +289,10 @@ namespace GFGGame
         {
             return $"{MINIGAME_DIR_PATH}{res}.{extName}";
         }
+
+        public static string GetHUARONGDAOPicPath(string res, string extName = "png")
+        {
+            return $"{MINIGAME_DIR_PATH}HRDGame/{res}.{extName}";
+        }
     }
 }

+ 27 - 14
GameClient/Assets/Game/HotUpdate/Views/ActivityHuaRongDao/ActivityHuaRongDaoEntryView.cs

@@ -23,7 +23,7 @@ namespace GFGGame
 
             viewCom = _ui.target;
             isfullScreen = true;
-            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("quanping_moren_bg");
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gf_pjxq_bj");
 
             _ui.m_btnStart.onClick.Add(OnBtnStartClick);
             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
@@ -51,7 +51,8 @@ namespace GFGGame
             base.OnShown();
 
             _ui.m_hide.Play();
-            InitActivityID();
+            _activityID = 5003;
+            //_activityID = (int)viewData;
             await InitInfo();
             _ui.m_show.Play();
             UpdateTime(null);
@@ -96,12 +97,21 @@ namespace GFGGame
         {
             curLevel = await GetCurLevel(_activityID);
 
-            RoleLimitData limitData = RoleLimitDataManager.GetLimitData(HuarongRoadGameArray.Instance.GetCfg(IDList[curLevel]).comsumeLimit);
-            int times = limitData.TotalPlayMax - limitData.PlayTimes;
+            RoleLimitData limitData;
 
             _ui.m_curLevel.text = curLevel.ToString();
-            _ui.m_challengeTimes.SetVar("have", times.ToString())
-                .SetVar("sum", limitData.TotalPlayMax.ToString()).FlushVars();
+            // 所有关卡都通关了
+            if (curLevel == IDList.Count)
+            {
+                _ui.m_challengeTimes.SetVar("have", "0").SetVar("sum", "0").FlushVars();
+            }
+            else
+            {
+                limitData = RoleLimitDataManager.GetLimitData(HuarongRoadGameArray.Instance.GetCfg(IDList[curLevel]).comsumeLimit);
+                int times = limitData.TotalPlayMax - limitData.PlayTimes;
+                _ui.m_challengeTimes.SetVar("have", times.ToString())
+                    .SetVar("sum", limitData.TotalPlayMax.ToString()).FlushVars();
+            }
 
             InitProgress();
             ProgressAutoLocate();
@@ -119,7 +129,7 @@ namespace GFGGame
         private void ProgressAutoLocate()
         {
             _ui.m_scrollPane.target.scrollPane.posX
-                = curLevel * (_ui.m_scrollPane.m_listBg.GetChildAt(0).width + _ui.m_scrollPane.m_listBg.columnGap) 
+                = curLevel * (_ui.m_scrollPane.m_listBg.GetChildAt(0).width + _ui.m_scrollPane.m_listBg.columnGap)
                 + (curLevel > 0 ? -100 : 0);
         }
 
@@ -169,6 +179,13 @@ namespace GFGGame
 
         private async void OnBtnStartClick()
         {
+            // 通关了所有
+            if(curLevel == IDList.Count)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("已通关所有关卡");
+                return;
+            }
+
             HuarongRoadGame cfg = HuarongRoadGameArray.Instance.dataArray[curLevel];
             var result = await MiniGameProxy.ReqMiniGameStart(cfg.id, cfg.type, _activityID);
             if (!result) return;
@@ -184,7 +201,8 @@ namespace GFGGame
                 return -1;
             }
 
-            for(int i = 0;i < MiniGameDateManager.Instance.gameinfoList.Count; i++)
+            int i;
+            for (i = 0; i < MiniGameDateManager.Instance.gameinfoList.Count; i++)
             {
                 if (!MiniGameDateManager.Instance.gameinfoList[i].IsCleared)
                 {
@@ -192,12 +210,7 @@ namespace GFGGame
                 }
             }
 
-            return -1;
-        }
-
-        private void InitActivityID()
-        {
-            _activityID = 5003;
+            return i;
         }
 
         private void UpdateTime(object param)

+ 24 - 51
GameClient/Assets/Game/HotUpdate/Views/ActivityHuaRongDao/ActivityHuaRongDaoView.cs

@@ -12,12 +12,19 @@ namespace GFGGame
     public class ActivityHuaRongDaoView : BaseWindow
     {
         private UI_ActivityHuaRongDaoUI _ui;
+
+        /// <summary>
+        /// 格子类
+        /// </summary>
         public class Grid
         {
             public Vector2 pos; // UI坐标
             public int num;
         }
 
+        /// <summary>
+        /// 格子的行列信息
+        /// </summary>
         public class GridInfo
         {
             public int col;
@@ -25,13 +32,17 @@ namespace GFGGame
             public int num;
         }
 
-        private Grid[,] _gridArr;
+        private int _activityID;
+        // 行/列 格子数
         private readonly int _gridNum = 3;
-        private List<GObject> _items;
         private bool _gameStart;
+
+        private Grid[,] _gridArr;
+        private List<GObject> _items;
         private HuarongRoadGame _cfg;
-        private int _activityID;
+        // 异步函数的取消控制
         private CancellationTokenSource _cancellationTokenSource;
+        // 胜利后自动补齐的格子
         private GObject _blankItem;
 
         public override void Dispose()
@@ -52,19 +63,17 @@ namespace GFGGame
             _ui = UI_ActivityHuaRongDaoUI.Create();
             viewCom = _ui.target;
             isfullScreen = true;
-            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("quanping_moren_bg");
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gf_pjxq_bj");
             isReturnView = true;
 
             _ui.m_item.target.visible = false;
             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
             _ui.m_state.onChanged.Add(OnChangeLookOriginState);
-            //_ui.m_btnLookPic.onClick.Add(OnClickBtnShowOriginPic);
-            //_ui.m_btnHidePic.onClick.Add(OnClickBtnHideOriginPic);
             _ui.m_btnRefresh.onClick.Add(OnClickBtnRefresh);
 
             InitGridInfo();
             CreateItems();
-            // 初始化空白处图片
+            // 初始化空白处格子实体
             if (_blankItem == null)
             {
                 _blankItem = UIPackage.CreateObject("ActivityHuaRongDao", "item");
@@ -87,11 +96,6 @@ namespace GFGGame
             RefreshData();
             _cancellationTokenSource = new CancellationTokenSource();
             Task task = StartAnimation(_cancellationTokenSource.Token);
-
-            // 倒计时相关
-            //ResetCountdown();
-            //Countdown(null);
-            //Timers.inst.Add(1, 0, Countdown);
         }
 
         protected override void OnHide()
@@ -122,7 +126,6 @@ namespace GFGGame
         {
             //List<int> numList = GetRandomArr(1, 8);
 
-
             Vector2 originPos = _ui.m_item.target.position;
 
             for (int i = 0; i < _gridNum; i++)
@@ -152,35 +155,6 @@ namespace GFGGame
             return true;
         }
 
-        /// <summary>
-        /// 随机排序 min~max 连续的数字
-        /// </summary>
-        /// <param name="min"></param>
-        /// <param name="max"></param>
-        /// <returns></returns>
-        private List<int> GetRandomArr(int min, int max)
-        {
-            List<int> list = new List<int>();
-            for (int i = min; i <= max; i++)
-            {
-                list.Add(i);
-            }
-
-            System.Random r = new System.Random();
-            for (int i = 0; i < list.Count; i++)
-            {
-                int index = r.Next(list.Count);
-                int temp = list[index];
-                list[index] = list[i];
-                list[i] = temp;
-            }
-
-            // 最后一个是空的
-            list.Add(0);
-
-            return list;
-        }
-
         private List<int> CreateIncreaseArr()
         {
             List<int> list = new List<int>();
@@ -241,7 +215,7 @@ namespace GFGGame
                     UI_item item = UI_item.Proxy(_items[itemIndex]);
                     item.m_index.text = _gridArr[i, j].num.ToString();
                     int groupID = _cfg.resArr[0];
-                    item.m_icon.url = ResPathUtil.GetMiniGamePicPath(HuarongRoadCfgArray.Instance.GetCfgsByid(groupID)[_gridArr[i, j].num].resName);
+                    item.m_icon.url = GetPicRes(HuarongRoadCfgArray.Instance.GetCfgsByid(groupID)[_gridArr[i, j].num].resName);
                     _items[itemIndex].data = _gridArr[i, j].num;
                     UI_item.ProxyEnd();
                     ++itemIndex;
@@ -258,17 +232,11 @@ namespace GFGGame
             {
                 GObject gObject = UIPackage.CreateObject("ActivityHuaRongDao", "item");
                 gObject.name = "item" + i;
-                //gObject.onClick.Add(OnItemClick);
-                //gObject.onTouchEnd.Add(TouchEnd);
-                //gObject.onTouchBegin.Add(TouchBegin);
                 _ui.m_items.target.AddChild(gObject);
-                UI_item item = UI_item.Proxy(gObject);
                 _items.Add(gObject);
-                UI_item.ProxyEnd();
             }
         }
 
-
         private void ControlMenuItemVisual(bool show = true)
         {
             _ui.m_btnBack.visible = show;
@@ -460,7 +428,7 @@ namespace GFGGame
             _blankItem.position = _gridArr[0, 0].pos;
             UI_item item = UI_item.Proxy(_blankItem);
             int groupID = _cfg.resArr[0];
-            item.m_icon.url = ResPathUtil.GetMiniGamePicPath(HuarongRoadCfgArray.Instance.GetCfgsByid(groupID)[0].resName);
+            item.m_icon.url = GetPicRes(HuarongRoadCfgArray.Instance.GetCfgsByid(groupID)[0].resName);
             UI_item.ProxyEnd();
         }
 
@@ -576,7 +544,7 @@ namespace GFGGame
                     item.m_index.text = _gridArr[i, j].num.ToString();
                     //item.m_icon.url = string.Format("ui://ActivityHuaRongDao/hrd_1-{0}", _gridArr[i, j].num + 1);
                     int groupID = _cfg.resArr[0];
-                    item.m_icon.url = ResPathUtil.GetMiniGamePicPath(HuarongRoadCfgArray.Instance.GetCfgsByid(groupID)[_gridArr[i, j].num].resName);
+                    item.m_icon.url = GetPicRes(HuarongRoadCfgArray.Instance.GetCfgsByid(groupID)[_gridArr[i, j].num].resName);
                     UI_item.ProxyEnd();
                     ++itemIndex;
                 }
@@ -596,5 +564,10 @@ namespace GFGGame
             _ui.m_state.selectedIndex = 0;
             StartAnimation(_cancellationTokenSource.Token);
         }
+
+        private string GetPicRes(string res)
+        {
+            return ResPathUtil.GetHUARONGDAOPicPath(res);
+        }
     }
 }

+ 0 - 7
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/RoleInfoView.cs

@@ -51,8 +51,6 @@ namespace GFGGame
             _ui.m_photoList.onClickItem.Add(OnPhotoListItemClick);
             _ui.m_badgeList.itemRenderer = OnRenderBadgeListItem;
 
-            _ui.m_btnHuaRongDao.onClick.Add(OnBtnHuaRongDaoClick);
-            //_ui.m_btnHuaRongDao.visible = false;
         }
 
         protected override void AddEventListener()
@@ -312,10 +310,5 @@ namespace GFGGame
             _ui.m_badgeList.numItems = _ui.m_badgeList.numItems;
 
         }
-
-        private void OnBtnHuaRongDaoClick()
-        {
-            ViewManager.Show<ActivityHuaRongDaoEntryView>();
-        }
     }
 }

BIN
GameClient/Assets/ResIn/UI/ActivityHuaRongDao/ActivityHuaRongDao_fui.bytes


BIN
GameClient/Assets/ResIn/UI/RoleInfo/RoleInfo_fui.bytes