Forráskód Böngészése

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

# Conflicts:
#	GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes
zhaoyang 2 éve
szülő
commit
c0df30257e

+ 1 - 1
FGUIProject/assets/Task/BuyBattlePassLevelUI.xml

@@ -25,7 +25,7 @@
     <text id="n9_or80" name="Tip" xy="447,558" size="171,39" fontSize="28" color="#b79f7d" vars="true" text="{startLeve=0}级提升至{endLevel=1}级"/>
     <image id="n17_itts" name="Add" src="uxxstm6" fileName="images/an_jia.png" xy="674,490" group="n21_itts"/>
     <image id="n18_itts" name="Reduce" src="uxxstmz" fileName="images/an_jian.png" xy="329,492" group="n21_itts"/>
-    <component id="n22_itts" name="n22" src="ittstnk" fileName="components/BuyBattlePassLevelBt.xml" xy="402,490" group="n21_itts"/>
+    <component id="n22_itts" name="AddLevelBtn" src="ittstnk" fileName="components/BuyBattlePassLevelBt.xml" xy="402,490" group="n21_itts"/>
     <group id="n21_itts" name="n21" xy="329,490" size="406,62"/>
   </displayList>
 </component>

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Data/BattlePassTaskDataManager.cs

@@ -111,7 +111,7 @@ namespace GFGGame
 
         private void SetSpecialCfgCache()
         {
-            var battlePassCfgs = BattlePassCfgArray.Instance.GetCfgsByisGood(1);
+            var battlePassCfgs = BattlePassCfgArray.Instance.GetCfgsByidAndisGood(GetSeasonId(), 1);
             var minIndex = 0;
             var selections = new List<Selection<int, int>>();
             foreach (var battlePassCfg in battlePassCfgs)
@@ -133,7 +133,7 @@ namespace GFGGame
         private void InitItemTemp()
         {
             tempItems.Clear();
-            var battlePassCfgs = BattlePassCfgArray.Instance.GetCfgsByisGood(GetSeasonId());
+            var battlePassCfgs = BattlePassCfgArray.Instance.GetCfgsByid(GetSeasonId());
             var items = new Dictionary<int, long>();
             foreach (var itemsInfo in battlePassCfgs.SelectMany(battlePassCfg => battlePassCfg.bonusSpecialArr))
             {

+ 15 - 7
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
+using System.Linq;
 using ET;
 using UnityEngine;
 
@@ -8,11 +9,14 @@ namespace GFGGame
     {
         private static Dictionary<int, ItemData> _dataDic = new Dictionary<int, ItemData>();
         private static Dictionary<int, int> _itemExchangeDic = new Dictionary<int, int>();
+
         delegate object MemberGetDelegate(ItemCfg p);
+
         public static void Clear()
         {
             _itemExchangeDic.Clear();
         }
+
         public static void Add(int itemID, long itemNum)
         {
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
@@ -27,8 +31,7 @@ namespace GFGGame
                 itemData = _dataDic[itemID];
                 if (itemCfg.itemType == ConstItemType.CARD)
                 {
-                    return;//每张卡牌只有一张
-
+                    return; //每张卡牌只有一张
                 }
             }
             else
@@ -51,13 +54,14 @@ namespace GFGGame
 
                 if (dataInited
                     && itemCfg.rarity == ConstDressRarity.Rarity_TIANYI
-                    && StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + functionOpenCfg.index) == 0)
+                    && StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN +
+                                                                   functionOpenCfg.index) == 0)
                 {
-
                     FunctionOpenDataManager.Instance.CheckHasSpecialFunOpen();
                 }
             }
-            if ((itemCfg.itemType == ConstItemType.ITEM || itemCfg.itemType == ConstItemType.GIFT_BAG) && itemData.num > 0)
+            if ((itemCfg.itemType == ConstItemType.ITEM || itemCfg.itemType == ConstItemType.GIFT_BAG) &&
+                itemData.num > 0)
             {
                 BagDataManager.Instance.Add(itemData);
             }
@@ -102,7 +106,8 @@ namespace GFGGame
                     }
                 }
 
-                if (itemCfg.itemType == ConstItemType.DRESS_UP && !DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID))
+                if (itemCfg.itemType == ConstItemType.DRESS_UP &&
+                    !DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID))
                 {
                     DecomposeDataManager.Instance.Remove(itemID);
                 }
@@ -149,6 +154,7 @@ namespace GFGGame
                 }
             }
         }
+
         public static void InitItemExchange(int itemId, int exchangTimes)
         {
             if (_itemExchangeDic.ContainsKey(itemId))
@@ -160,6 +166,7 @@ namespace GFGGame
                 _itemExchangeDic.Add(itemId, exchangTimes);
             }
         }
+
         //获取物品已兑换次数
         public static int GetItemExchangeTimes(int itemId)
         {
@@ -226,6 +233,7 @@ namespace GFGGame
             }
             return 0;
         }
+
         /// <summary>
         /// 获取一个换装部件对应的标签分数
         /// </summary>
@@ -250,10 +258,10 @@ namespace GFGGame
                         score += int.Parse(itemCfg.tagsArr[i][1]);
                     }
                 }
-
             }
             return score;
         }
+
         /// <summary>
         /// 检测一件服装是否包含要求的标签
         /// </summary>

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_BuyBattlePassLevelUI.cs

@@ -12,6 +12,7 @@ namespace UI.Task
         public GTextField m_Tip;
         public GImage m_Add;
         public GImage m_Reduce;
+        public GButton m_AddLevelBtn;
         public const string URL = "ui://5mpsibzzor80tm1";
         public const string PACKAGE_NAME = "Task";
         public const string RES_NAME = "BuyBattlePassLevelUI";
@@ -64,6 +65,7 @@ namespace UI.Task
             m_Tip = (GTextField)comp.GetChild("Tip");
             m_Add = (GImage)comp.GetChild("Add");
             m_Reduce = (GImage)comp.GetChild("Reduce");
+            m_AddLevelBtn = (GButton)comp.GetChild("AddLevelBtn");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -72,6 +74,7 @@ namespace UI.Task
             m_Tip = null;
             m_Add = null;
             m_Reduce = null;
+            m_AddLevelBtn = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/BattlePassTaskSProxy.cs

@@ -129,10 +129,11 @@ namespace GFGGame
         }
 
         //购买等级 C2S_BuyBattlePassLevel
-        public static async ETTask BuyBattlePassLevel(int upLevel)
+        public static async ETTask<bool> BuyBattlePassLevel(int upLevel)
         {
-            _ = (S2C_BuyBattlePassLevel)await MessageHelper.SendToServer(new C2S_BuyBattlePassLevel
+            var response = (S2C_BuyBattlePassLevel)await MessageHelper.SendToServer(new C2S_BuyBattlePassLevel
                 { UpLevel = upLevel });
+            return response is { Error: ErrorCode.ERR_Success };
         }
     }
 }

+ 6 - 0
GameClient/Assets/Game/HotUpdate/Utils/ItemUtil.cs

@@ -3,6 +3,7 @@ using FairyGUI;
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Linq;
 using UI.CommonGame;
 using UnityEngine;
 
@@ -165,6 +166,11 @@ namespace GFGGame
             return hasNum >= num;
         }
 
+        public static Boolean CheckItemEnough(int[][] items, int count=1)
+        {
+            return items.All(item => CheckItemEnough(item[0], item[1] * count));
+        }
+
         public static bool CheckMenuType1(int needItemId, int needSuitId, int typeId)
         {
             DressUpMenuItemCfg1 cfg1 = DressUpMenuItemCfg1Array.Instance.GetCfg(typeId);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaFightRecordView.cs

@@ -63,7 +63,7 @@ namespace GFGGame
             item.m_txtTargetName.text = historyData.targetData.RoleInfo.roleName;
             item.m_txtRank.text = historyData.targetData.RankInGrade.ToString();
 
-            item.m_txtTargetFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(historyData.targetData.FightScores));
+            item.m_txtTargetFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(historyData.targetData.FightScores));
             ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, historyData.targetData.Grade);
             TimeUtil.FormattingTime(historyData.FightTime, TimeHelper.ServerNow(), out int num, out string str);
             str = str == "秒" ? "刚刚" : num + str + "前";

+ 9 - 9
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankView.cs

@@ -228,7 +228,7 @@ namespace GFGGame
             if (arenaData == null)
             {
                 item.m_txtName.text = "--";
-                item.m_txtFightScore.text = "竞技场战力:--";
+                item.m_txtFightScore.text = "飞花令战力:--";
                 item.m_txtDanRank.text = "段位排名:--";
                 // item.m_loaDanIcon.url = "";
                 RoleInfoManager.Instance.UpdateLv(item.m_comLv, 0);
@@ -242,16 +242,16 @@ namespace GFGGame
                 if (arenaData.Type == FightTargetType.PLAYER)
                 {
                     //上榜的玩家一定战斗过,可以直接计算
-                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightScores));
+                    item.m_txtFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightScores));
                     RoleInfoManager.Instance.UpdateHead(item.m_comHead, arenaData.RoleInfo.headId, 0);
                 }
                 else
                 {
-                    //上榜的机器人不一定战斗过,所以不一定有竞技场战力数据,所以机器人需要重新计算
-                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas));
+                    //上榜的机器人不一定战斗过,所以不一定有飞花令战力数据,所以机器人需要重新计算
+                    item.m_txtFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas));
                     RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, arenaData.RoleInfo.headRes);
                 }
-                // item.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
+                // item.m_txtFightScore.text = string.Format("飞花令战力:{0}", fightScore);
                 item.m_txtDanRank.text = string.Format("段位排名:{0}", arenaData.Grade);
                 ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, arenaData.Grade);
                 RoleInfoManager.Instance.UpdateLv(item.m_comLv, arenaData.RoleInfo.roleLv);
@@ -283,7 +283,7 @@ namespace GFGGame
             {
                 item.m_txtRank.text = "--";
                 item.m_txtName.text = "--";
-                item.m_txtFightScore.text = "竞技场战力:--";
+                item.m_txtFightScore.text = "飞花令战力:--";
                 item.m_txtDanRank.text = "--";
                 // item.m_loaDanIcon.url = "";
                 RoleInfoManager.Instance.UpdateLv(item.m_comLv, 0);
@@ -301,13 +301,13 @@ namespace GFGGame
                 if (arenaData.Type == FightTargetType.PLAYER)
                 {
                     //上榜的玩家一定战斗过,可以直接计算
-                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightScores));
+                    item.m_txtFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightScores));
                     RoleInfoManager.Instance.UpdateHead(item.m_comHead, arenaData.RoleInfo.headId, 0);
                 }
                 else
                 {
-                    //上榜的机器人不一定战斗过,所以不一定有竞技场战力数据,所以机器人需要重新计算
-                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas));
+                    //上榜的机器人不一定战斗过,所以不一定有飞花令战力数据,所以机器人需要重新计算
+                    item.m_txtFightScore.text = string.Format("飞花令战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas));
                     RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, arenaData.RoleInfo.headRes);
                 }
             }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/League/LeagueMemberView.cs

@@ -176,7 +176,7 @@ namespace GFGGame
         }
         private void OnUpdateTimer(object param)
         {
-            int timeCount = (int)(LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.AdEndTime) - TimeHelper.ServerNow()) / 1000;
+            int timeCount = (int)(LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.AdEndTime) - TimeHelper.ServerNow());
             if (timeCount <= 0)
             {
                 _ui.m_btnRecruit.target.touchable = true;

+ 32 - 15
GameClient/Assets/Game/HotUpdate/Views/League/LeagueSkillUpView.cs

@@ -53,6 +53,7 @@ namespace GFGGame
         protected override void AddEventListener()
         {
             base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateView);
         }
         protected override void OnShown()
         {
@@ -61,18 +62,7 @@ namespace GFGGame
             _valueBarController.OnShown();
             _valueBarController.Controller(11);
             _ui.m_list.numItems = LeagueSkillCountCfgArray.Instance.GetCfg(_type).layerCount;
-            if (LeagueDataManager.Instance.GetSkillProgressByType(_type) < 100 && LeagueDataManager.Instance.GetSkillProgressByType(_type) > 0)
-            {
-                if (LeagueDataManager.Instance.CurLayer == _ui.m_list.numItems)
-                {
-                    _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer - 1);
-                }
-                else
-                {
-                    _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer);
-                }
-            }
-            // _pageCount = Math.Ceiling((double)(_ui.m_list.scrollPane.contentWidth / _ui.m_list.scrollPane.viewWidth));
+
             UpdateView();
         }
 
@@ -86,6 +76,7 @@ namespace GFGGame
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, UpdateView);
         }
 
         private void OnBtnBackClick()
@@ -114,14 +105,40 @@ namespace GFGGame
         }
         private void UpdateView()
         {
+            if (LeagueDataManager.Instance.GetSkillProgressByType(_type) < 100 && LeagueDataManager.Instance.GetSkillProgressByType(_type) > 0)
+            {
+                if (LeagueDataManager.Instance.CurLayer == _ui.m_list.numItems)
+                {
+                    _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer - 1);
+                }
+                else
+                {
+                    bool isActive = true;
+                    List<LeagueSkillCfg> skillCfgs = LeagueSkillCfgArray.Instance.GetCfgsBytypeAndlayer(_type, LeagueDataManager.Instance.CurLayer);
+                    for (int i = 0; i < skillCfgs.Count; i++)
+                    {
+                        if (!SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(_type) || SkillDataManager.Instance.LeagueSkillDatas[_type].IndexOf(skillCfgs[i].id) < 0)
+                        {
+                            isActive = false;
+                            break;
+                        }
+                    }
+                    if (isActive)
+                    {
+                        _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer);
+                    }
+                    else
+                    {
+                        _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer - 1);
+                    }
+                }
+                // _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer - 1);
+            }
             _ui.m_listScore.numItems = 4;
             _ui.m_list.RefreshVirtualList();
             _ui.m_txtTitle.text = "茶艺-" + LeagueSkillCountCfgArray.Instance.GetCfg(_type).name;
-            // UI_ListSkillTypeItem item = UI_ListSkillTypeItem.Proxy(_ui.m_comSkillType.target);
             double progress = LeagueDataManager.Instance.GetSkillProgressByType(_type);
-            // _ui.m_txtProgress.text = string.Format("进度{0}%", progress);
             _ui.m_txtProgress.SetVar("value", progress.ToString()).FlushVars();
-            // UI_ListSkillTypeItem.ProxyEnd();
         }
         private void RenderListScoreItem(int index, GObject obj)
         {

+ 23 - 3
GameClient/Assets/Game/HotUpdate/Views/Task/BuyBattlePassLevelView.cs

@@ -32,6 +32,7 @@ namespace GFGGame
             _ui.m_Rewards.itemRenderer = SpecialRewardRender;
             _ui.m_Add.onClick.Add(OnAddLevel);
             _ui.m_Reduce.onClick.Add(OnReduceLevel);
+            _ui.m_AddLevelBtn.onClick.Add(OnRequestAddLevel);
         }
 
         protected override void OnShown()
@@ -66,17 +67,36 @@ namespace GFGGame
             var battlePassLevel = BattlePassTaskDataManager.Instance.GetBattlePassLevel();
             _ui.m_Tip.SetVar("StartLevel", battlePassLevel.ToString())
                 .SetVar("EndLevel", (battlePassLevel + addLevel).ToString()).FlushVars();
-            // GlobalCfgArray.globalCfg.
-            // _ui.m_Value.text = (addLevel * BattlePassTaskDataManager.Instance.GetBattlePassLevelPrice()).ToString();
+            var globalCfgBattlePassLevelConsumeArr = GlobalCfgArray.globalCfg.BattlePassLevelConsumeArr;
+            var count = globalCfgBattlePassLevelConsumeArr[0][1];
+            _ui.m_AddLevelBtn.text = (addLevel * count).ToString();
         }
 
-
         private void OnReduceLevel(EventContext context)
         {
+            if (addLevel == 0)
+            {
+                return;
+            }
+            addLevel -= 1;
+            setLevel();
         }
 
         private void OnAddLevel(EventContext context)
         {
+               
+        }
+
+        private async void OnRequestAddLevel(EventContext context)
+        {
+            //检查是否消耗足够
+            var globalCfgBattlePassLevelConsumeArr = GlobalCfgArray.globalCfg.BattlePassLevelConsumeArr;
+            if (!ItemUtil.CheckItemEnough(globalCfgBattlePassLevelConsumeArr, addLevel))
+            {
+                PromptController.Instance.ShowFloatTextPrompt("货币不够!");
+                return;
+            }
+            await BattlePassTaskSProxy.BuyBattlePassLevel(addLevel);
         }
     }
 }

BIN
GameClient/Assets/ResIn/UI/Task/Task_fui.bytes