Selaa lähdekoodia

Merge branch 'master' of http://10.108.64.190:3000/gfg/client

huangxiaoyue 1 vuosi sitten
vanhempi
commit
46ca6f488d

+ 0 - 6
GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs

@@ -683,12 +683,6 @@ namespace GFGEditor
             List<ShopCfg> storyActivityCfg = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_ACTIVITY_EXCHANGE);
             for (int i = 0; i < storyActivityCfg.Count; i++)
             {
-                // 去除未上架的活动商品
-                if (!string.IsNullOrEmpty(storyActivityCfg[i].startTime) && !TimeUtil.IsBeforeCurTime(storyActivityCfg[i].startTime) || !string.IsNullOrEmpty(storyActivityCfg[i].endTime) && !TimeUtil.IsLaterCurTime(storyActivityCfg[i].endTime))
-                {
-                    continue;
-                }
-
                 if (CheckIsHasItem(itemId, storyActivityCfg[i].itemId))
                 {
                     approachs.Add(ConstFunctionId.STORE + "=" + ConstStoreTabId.STORE_EXCHANGE + "=" + ConstStoreSubId.STORE_ACTIVITY_EXCHANGE);

+ 3 - 1
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -405,7 +405,9 @@ namespace GFGGame
             if (operation.Status == EOperationStatus.Succeed)
             {
                 LogUtil.LogDev($"版本对比: {GameGlobal.promotedVersion} {operation.PackageVersion}");
-                if (!operation.PackageVersion.Equals(GameGlobal.promotedVersion))
+                if (!string.IsNullOrEmpty(operation.PackageVersion) 
+                    && !string.IsNullOrEmpty(operation.PackageVersion) 
+                    && !operation.PackageVersion.Equals(GameGlobal.promotedVersion))
                 {
                     GameGlobal.promotedVersion = operation.PackageVersion;
                     AlertSystem.Show("游戏已有更新,您可以立即重启游戏获取最佳游戏体验,也可以稍后重启更新。")

+ 6 - 3
GameClient/Assets/Game/HotUpdate/Data/ActivityGlobalDataManager.cs

@@ -34,7 +34,7 @@ namespace GFGGame
         }
 
         //添加活动数据
-        public void AddActivityInfo(ActivityInfoProto activityInfoProto)
+        public void AddActivityInfo(ActivityInfoProto activityInfoProto, bool dispatchEvent = true)
         {
             if (activityInfoProto == null) return;
             if (activityInfos.ContainsKey(activityInfoProto.ActivityId)) return;
@@ -53,11 +53,14 @@ namespace GFGGame
             }
             activityInfosByType[activityInfo.Type].Add(activityInfo.ActivityId);
             LogUtil.LogEditor($"AddActivityInfo {activityInfo.Type}");
-            //ACTIVITY_ADD
-            EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD, activityInfo.ActivityId);
             var remainTime = activityInfo.EndTime - TimeHelper.ServerNow();
             if (remainTime > 0)
             {
+                //ACTIVITY_ADD
+                if(dispatchEvent)
+                {
+                    EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD);
+                }
                 Timers.inst.Add(activityInfo.EndTime - TimeHelper.ServerNow(), 1, ClientRemoveActivityInfo,
                     activityInfo.ActivityId);
             }

+ 3 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityGlobalSProxy.cs

@@ -53,8 +53,10 @@ namespace GFGGame
             }
             response.ActivityList.ForEach(activityProto =>
             {
-                ActivityGlobalDataManager.Instance.AddActivityInfo(activityProto);
+                ActivityGlobalDataManager.Instance.AddActivityInfo(activityProto, false);
             });
+
+            EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD);
         }
 
         //C2S_CloseActivity

+ 1 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/TaskSProxy.cs

@@ -41,7 +41,7 @@ namespace ET
             var changeIds = new List<int>();
             message.TaskList.ForEach(proto =>
             {
-                var taskInfo = new TaskInfo { ID = proto.Id, State = proto.Status, Progress = proto.Progress };
+                var taskInfo = new TaskInfo { ID = proto.Id, State = proto.Status, Progress = proto.Progress, FuncType = proto.FuncType };
                 TaskDataManager.Instance.UpdateTaskInfo(taskInfo.ID, taskInfo);
                 changeIds.Add(taskInfo.ID);
             });

+ 20 - 19
GameClient/Assets/Game/HotUpdate/Views/ActivityGetYuanXiao/ActivityGetYuanXiaoEntryView.cs

@@ -61,24 +61,19 @@ namespace GFGGame
         protected async override void OnShown()
         {
             base.OnShown();
-            _valueBarController.OnShown();
-            _valueBarController.UpdateList(new List<int>() { ConstItemID .YUANXIAO_REWARD, ConstItemID.YUANXIAO_GAME_CONSUME});
 
             _ui.m_list.visible = false;
+            _valueBarController.OnShown();
+            _valueBarController.UpdateList(new List<int>());
             var result = await ActivityGetYuanXiaoProxy.ReqGetActivityGameInfos();
 
-            if (!isShowing)
+            if (!isShowing || !result)
             {
                 return;
             }
 
-            if (!result)
-            {
-                OnBtnBackClick();
-                return;
-            }
-
             _ui.m_list.visible = true;
+            _valueBarController.UpdateList(new List<int>() { ConstItemID.YUANXIAO_REWARD, ConstItemID.YUANXIAO_GAME_CONSUME });
             _ui.m_listShow.Play();
             _curLevel = ActivityGetYuanXiaoDataManager.Instance.GetCurLevel();
             _ui.m_list.numItems = ActivityGetYuanXiaoDataManager.Instance.gameinfoList.Count;
@@ -137,6 +132,13 @@ namespace GFGGame
 
         private void OnBtnStartClick()
         {
+            int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.YuanXiao);
+            if (activityID == 0)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("活动已结束");
+                return;
+            }
+
             if (_ui.m_list.selectedIndex > _curLevel)
             {
                 PromptController.Instance.ShowFloatTextPrompt("请先通关前置关卡");
@@ -161,10 +163,6 @@ namespace GFGGame
         private async void StartGame()
         {
             int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.YuanXiao);
-            if (activityID == 0)
-            {
-                return;
-            }
 
             PickUpGame cfg = PickUpGameArray.Instance.dataArray[_ui.m_list.selectedIndex];
             var result = await MiniGameProxy.ReqMiniGameStart(cfg.id, cfg.type, activityID);
@@ -175,6 +173,13 @@ namespace GFGGame
 
         private void OnBtnShopClick()
         {
+            int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.YuanXiao);
+            if (activityID == 0)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("活动已结束");
+                return;
+            }
+
             ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_ACTIVITY_EXCHANGE });
         }
 
@@ -183,8 +188,10 @@ namespace GFGGame
             int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.YuanXiao);
             if (activityID == 0)
             {
+                PromptController.Instance.ShowFloatTextPrompt("活动已结束");
                 return;
             }
+
             ViewManager.Show<ActivityGetYuanXiaoTaskView>();
         }
 
@@ -228,12 +235,6 @@ namespace GFGGame
         {
             long curTime = TimeHelper.ServerNow();
             int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.YuanXiao);
-            if (activityID == 0)
-            {
-                OnBtnBackClick();
-                return;
-            }
-
             var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(activityID);
             if (activityInfo != null)
             {

+ 7 - 2
GameClient/Assets/Game/HotUpdate/Views/ActivityGetYuanXiao/ActivityGetYuanXiaoTaskView.cs

@@ -93,8 +93,13 @@ namespace GFGGame
 
             UI_taskItem item = UI_taskItem.Proxy(gObject);
             item.m_desc.text = TaskDataManager.Instance.GetTaskDesc(_cfgs[index].id);
-            item.m_txtCount.SetVar("cur", $"{TaskDataManager.Instance.GetTaskProgressById(_cfgs[index].id)}")
-                .SetVar("sum", $"{_cfgs[index].GetTargetCount()}").FlushVars();
+            long progress = TaskDataManager.Instance.GetTaskProgressById(_cfgs[index].id);
+            int sum = _cfgs[index].GetTargetCount();
+            if (progress > sum)
+            {
+                progress = sum;
+            }
+            item.m_txtCount.SetVar("cur", $"{progress}").SetVar("sum", $"{sum}").FlushVars();
             item.m_c1.selectedIndex = TaskDataManager.Instance.GetTaskStateById(_cfgs[index].id);
             item.m_c2.selectedIndex = _cfgs[index].jumpId == "" ? 1 : 0;
 

+ 35 - 1
GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs

@@ -65,9 +65,43 @@ namespace GFGGame
             {
                 if (string.IsNullOrEmpty(approachStr)) continue;
                 string[] infos = approachStr.Split('=');
-                _approachDatas.Add(infos);
+
+                if(infos[0] == ConstFunctionId.STORE)
+                {
+                    if (CheckStoreItem(infos))
+                    {
+                        _approachDatas.Add(infos);
+                    }
+                }
+                else
+                {
+                    _approachDatas.Add(infos);
+                }
             }
         }
+
+        /// <summary>
+        /// 去除未上架的商品
+        /// </summary>
+        /// <param name="infos"></param>
+        /// <returns></returns>
+        private bool CheckStoreItem(string[] infos)
+        {
+            int storeTabId = int.Parse(infos[1]);
+            int storeSubId = int.Parse(infos[2]);
+            List<ShopCfg> storyActivityCfg = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(storeTabId, storeSubId);
+            storyActivityCfg = ShopDataManager.Instance.RemoveNotOpenCfg(storyActivityCfg);
+            foreach (var v in storyActivityCfg)
+            {
+                if (v.itemId == _itemId)
+                {
+                    return true;
+                }
+            }
+
+            return false;
+        }
+
         private void UpdateView()
         {
             _ui.m_txtNone.visible = _approachDatas.Count == 0;

+ 43 - 26
GameClient/Assets/Game/HotUpdate/Views/Login/LoginInputView.cs

@@ -1,6 +1,9 @@
 using UI.Login;
 using FairyGUI;
 using UnityEngine;
+using System.ComponentModel;
+using System;
+using System.Collections.Generic;
 
 namespace GFGGame
 {
@@ -36,6 +39,8 @@ namespace GFGGame
             {
                 _ui.m_inputPassword.promptText = "[color=#B8A492]当前支持免密登录[/color]";
             }
+
+
         }
 
         protected override void OnShown()
@@ -46,9 +51,7 @@ namespace GFGGame
             {
                 _ui.m_inputAccount.text = account;
             }
-
-            _ui.m_boxChooseCanal.items = new string[] { "TapTap" , "好游快爆", "Bilibil", "华为", "UC九游(阿里游戏)", "小米", "VIVO", "OPPO", "4399", "联想", "应用宝", "酷派", "魅族", "雷电游戏", "QuickGame_安卓", "WAN665", "AppStore", "抖音", "测试"};
-            _ui.m_boxChooseCanal.onChanged.Add(onChangedCanal);
+            InitChanelBox();
         }
 
         protected override void OnHide()
@@ -71,8 +74,18 @@ namespace GFGGame
 
         private void onChangedCanal()
         {
-            ET.Log.Debug("打印测试======选择的渠道==========" + (_ui.m_boxChooseCanal.selectedIndex + 1));
-
+            LauncherConfig.ChannelId = int.Parse(_ui.m_boxChooseCanal.value);
+            ET.Log.Debug("打印测试======选择的渠道==========" + (_ui.m_boxChooseCanal.value));
+            if(_ui.m_boxChooseCanal.value == (int)ChannelID.Test + "")
+            {
+                AlertSystem.Show("切换其他渠道后不支持切回测试渠道,请重启游戏!")
+                    .SetRightButton(true, "退出游戏", (obj) => { Application.Quit(); });
+            }
+            else
+            {
+                GameConfig.LoginAddress = "http://10.108.64.127:10005";
+            }
+            ET.Log.Debug($"===选择的渠道=== {_ui.m_boxChooseCanal.value} {GameConfig.LoginAddress}");
         }
 
         private void OnClickBtnSure()
@@ -103,27 +116,6 @@ namespace GFGGame
             this.Hide();
         }
 
-        //private void OnClickBtnTourist()
-        //{
-        //    if (GameGlobal.isOfflineVisitor)
-        //    {
-        //        LoginProxy.LoginAsVisitor();
-        //    }
-        //    else
-        //    {
-        //        Alert.Show("游客账号无法保证您的账号安全,且受到充值和时长限制,无法体验全部游戏内容。强烈建议您注册账号登录游戏。")
-        //        .SetLeftButton(true, "进入游戏", (object data) =>
-        //        {
-        //            LoginProxy.LoginAsVisitor();
-        //        })
-        //        .SetRightButton(true, "前往注册", (object data) =>
-        //        {
-        //            ViewManager.Show<RegisterView>();
-        //        })
-        //        .SetClickBlankToClose(true);
-        //    }
-        //}
-
         private void OnClickBtnRegister()
         {
             ViewManager.Show<RegisterView>();
@@ -135,5 +127,30 @@ namespace GFGGame
             _ui.m_inputAccount.text = account;
         }
 
+        private void InitChanelBox()
+        {
+            _ui.m_boxChooseCanal.visible = LauncherConfig.netType == LauncherConfig.EnumNetType.LOCAL;
+            if (!_ui.m_boxChooseCanal.visible) return;
+
+            var enumType = typeof(ChannelID);
+            var arr = Enum.GetValues(enumType);
+            List<string> items = new List<string>();
+            List<string> numbers = new List<string>();
+            foreach (var value in arr)
+            {
+                var fieldInfo = enumType.GetField((value).ToString());
+
+                if (fieldInfo != null && Attribute.IsDefined(fieldInfo, typeof(DescriptionAttribute)))
+                {
+                    DescriptionAttribute attribute = (DescriptionAttribute)Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute));
+                    items.Add(attribute.Description);
+                    numbers.Add(Convert.ToInt32(value).ToString());
+                }
+            }
+            _ui.m_boxChooseCanal.items = items.ToArray();
+            _ui.m_boxChooseCanal.values = numbers.ToArray();
+            _ui.m_boxChooseCanal.value = LauncherConfig.ChannelId + "";
+            _ui.m_boxChooseCanal.onChanged.Add(onChangedCanal);
+        }
     }
 }