Browse Source

田野调查

zhaoyang 3 years ago
parent
commit
d02b162eec

+ 1 - 1
FGUIProject/assets/Field/FieldFightEndUI.xml

@@ -9,7 +9,7 @@
     <component id="n0_s20j" name="btnConfirm" src="ih7594" fileName="components/Button10.xml" pkg="mk0fwx0x" xy="278,600">
       <Button title="确定"/>
     </component>
-    <text id="n4_ohun" name="txtNum" xy="380,140" size="175,46" fontSize="34" color="#a17d5f" text="第20/20轮"/>
+    <text id="n4_ohun" name="txtNum" xy="380,140" size="175,46" fontSize="34" color="#a17d5f" ubb="true" text="第20/20轮"/>
     <image id="n5_ohun" name="n5" src="ehs99" fileName="images/yx_xiant_1.png" pkg="eg2y0ldp" xy="44,120"/>
     <text id="n7_ohun" name="txtHas" xy="338,463" pivot="0.5,0" size="260,49" fontSize="36" color="#a17d5f" text="已拥有:38000"/>
     <text id="n8_ohun" name="n8" xy="326,531" size="148,49" group="n11_ohun" fontSize="36" color="#a17d5f" text="本次消耗"/>

+ 1 - 1
FGUIProject/assets/Field/FieldFightInfoUI.xml

@@ -9,7 +9,7 @@
     </component>
     <loader id="n5_ohun" name="loaNpc" xy="443,400" pivot="0.5,1" size="50,50" autoSize="true"/>
     <text id="n6_ohun" name="txtName" xy="370,407" pivot="0.5,0" size="196,64" fontSize="48" color="#887256" text="名字名字"/>
-    <text id="n8_ohun" name="txtNum" xy="716,435" size="175,46" fontSize="34" color="#a17d5f" text="第20/20轮"/>
+    <text id="n8_ohun" name="txtNum" xy="716,435" size="175,46" fontSize="34" color="#a17d5f" ubb="true" text="第20/20轮"/>
     <text id="n7_ohun" name="txtDesc" xy="73,525" size="793,100" fontSize="38" color="#9f8f73" autoSize="height" text="放马过来吧!祝福大家旗开得胜,心想事成祝福 大家旗开得胜,心想事成"/>
     <text id="n9_ohun" name="txtTime" xy="293,838" pivot="0.5,0" size="350,49" fontSize="36" color="#bb674e" text="3秒后自动进入下一轮"/>
   </displayList>

+ 11 - 2
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -189,7 +189,7 @@ namespace GFGGame
             Timers.inst.CallLater(AfterEnterGame);
         }
 
-        private static void AfterEnterGame(object param)
+        private static async void AfterEnterGame(object param)
         {
             //GameProxy.ReqGetStoryScoreList();
             //GameProxy.ReqGetStoryStarList();
@@ -201,12 +201,21 @@ namespace GFGGame
             RechargeSProxy.ReqRechargeInfo().Coroutine();
             RechargeSProxy.ReqRequestGiftBagInfo().Coroutine();
             RechargeSProxy.ReqExchangeInfo().Coroutine();
-            // FieldSProxy.ReqFieldInstanceInfos().Coroutine();
 
             EquipDataCache.cacher.autoPlay = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY) <= 0 ? false : true;
             EquipDataCache.cacher.fightSpeed = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY_SPEED) <= 1 ? 1 : StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY_SPEED);
             GameGlobal.skipCheckOpen = StorageDataManager.Instance.GetStorageValue(ConstStorageId.SKIP_CHECK_OPEN) <= 0 ? false : true;
             GameGlobal.isEnterGame = true;
+
+            // bool result = await FieldSProxy.ReqFieldInstanceInfos();
+            // if (result && FieldDataManager.Instance.fieldInfos.hasBonus)
+            // {
+            //     bool result1 = await FieldSProxy.ReqFieldInstanceResult();
+            //     if (result1)
+            //     {
+            //         ViewManager.Show<FieldFightEndView>();
+            //     }
+            // }
         }
     }
 }

+ 11 - 48
GameClient/Assets/Game/HotUpdate/Data/FieldDataManager.cs

@@ -11,7 +11,7 @@ namespace GFGGame
         /// <summary>
         /// 最高关卡记录列表,由简单到难
         /// </summary>
-        public List<int> highestLvls;
+        public Dictionary<int, int> highestLvls;
         /// <summary>
         /// 每周已领奖励
         /// </summary>
@@ -52,58 +52,21 @@ namespace GFGGame
 
     public class FieldDataManager : SingletonBase<FieldDataManager>
     {
-        // private int _theme = 1; //当前主题 由ConstItemAttributeType定义
-        // /// <summary>
-        // /// 本期主题
-        // /// </summary>
-        // public int Theme
-        // {
-        //     get { return _theme; }
-        //     set { _theme = value; }
-        // }
-
-        // private int _bonusWeekly = 0;//每周已领奖励
-        // /// <summary>
-        // /// 每周已领奖励
-        // /// </summary>
-        // /// <value></value>
-        // public int BonusWeekly
-        // {
-        //     get { return _bonusWeekly; }
-        //     set { _bonusWeekly = value; }
-        // }
-
-        // private int _bonusMaxLimit = 0;//奖励上限
-        // /// <summary>
-        // /// 奖励上限
-        // /// </summary>
-        // /// <value></value>
-        // public int BonusMaxLimit
-        // {
-        //     get { return _bonusMaxLimit; }
-        //     set { _bonusMaxLimit = value; }
-        // }
-
-
-        // private List<int> _highestLvls = new List<int>();//最高关卡记录列表,由简单到难
-        // private Dictionary<int, int> _taskDic = new Dictionary<int, int>();//任务奖励状态 由ConstBonusStatus定义
-        // private bool hasBonus = false;//仅在上线时判断是否有奖励未结算
-
 
         public FieldInfos fieldInfos = new FieldInfos();
         public FieldResult fieldResult = new FieldResult();
 
         /// <summary>
-        /// 当前难度
+        ///当前难度的副本Id
         /// </summary>
-        // public int difficulty = 0;
+        public int chapterId;
         /// <summary>
-        ///当前副本Id
+        /// 当前关卡挑战进度,起始为1
         /// </summary>
-        public int chapterId;
-        //当前战斗关卡等级,起始为1
         public int currFightLv = 1;
 
+
+
         public void UpdateTask(int taskId, int state)
         {
             if (!fieldInfos.taskDic.ContainsKey(taskId))
@@ -117,19 +80,19 @@ namespace GFGGame
         }
 
         /// <summary>
-        /// 根据挑战难度获取最高记录
+        /// 根据副本Id获取最高记录
         /// </summary>
-        /// <param name="difficulty"></param>
+        /// <param name="chapterId"></param>
         /// <returns></returns>
-        public int GetHighestLvByDifficulty(int difficulty)
+        public int GetHighestLvByChapterId(int chapterId)
         {
-            if (fieldInfos.highestLvls.IndexOf(difficulty) < 0)
+            if (!fieldInfos.highestLvls.ContainsKey(chapterId))
             {
                 return 0;
             }
             else
             {
-                return fieldInfos.highestLvls[difficulty];
+                return fieldInfos.highestLvls[chapterId];
             }
         }
         // /// <summary>

+ 12 - 0
GameClient/Assets/Game/HotUpdate/Data/FieldFightDataManager.cs

@@ -0,0 +1,12 @@
+using System.Collections.Generic;
+
+namespace GFGGame
+{
+    public class FieldFightDataManager : SingletonBase<FieldFightDataManager>
+    {
+        public int CurrentCardId = -1;
+        public int CurrentScoreType;
+        public int currentLevelCfgId;
+        public List<int> equipDatas;
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Data/FieldFightDataManager.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e5a6079ddd642094d8a3465439ddd9b8
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 5 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjDataCache.cs

@@ -48,8 +48,13 @@ namespace GFGGame
             {
                 return _equipDatas.ToList();
             }
+            set
+            {
+                _equipDatas = value;
+            }
         }
 
+
         //角色基础分+部件基础分
         private int _score;
         public int score

+ 2 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/FieldSProxy.cs

@@ -18,8 +18,8 @@ namespace GFGGame
                 {
                     FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos;
                     fieldInfos.theme = response.Theme;
-                    fieldInfos.highestLvls = new List<int>();
-                    fieldInfos.highestLvls.AddRange(response.HighestLvls);
+                    fieldInfos.highestLvls = new Dictionary<int, int>();
+
                     fieldInfos.bonusWeekly = response.BonusWeekly;
                     fieldInfos.bonusMaxLimit = response.BonusMaxLimit;
                     fieldInfos.hasBonus = response.HasBonus;

+ 9 - 1
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -365,7 +365,13 @@ namespace GFGGame
         {
             //不可移动代码位置
             bool hasFightTarget = _fightCfg.targetName != null && _fightCfg.targetName.Length > 0;
-            this.Hide();
+            if (_levelCfg.type == ConstInstanceZonesType.Field)
+            {
+                FieldFightDataManager.Instance.CurrentCardId = InstanceZonesDataManager.currentCardId;
+                FieldFightDataManager.Instance.CurrentScoreType = InstanceZonesDataManager.currentScoreType;
+                FieldFightDataManager.Instance.CurrentScoreType = InstanceZonesDataManager.currentLevelCfgId;
+                FieldFightDataManager.Instance.equipDatas = EquipDataCache.cacher.equipDatas;
+            }
             if (hasFightTarget)
             {
                 ViewManager.Show(ViewName.STORY_FIGHT_TARGET_VIEW);
@@ -374,6 +380,8 @@ namespace GFGGame
             {
                 ViewManager.Show(ViewName.STORY_FIGHT_SINGLE_VIEW);
             }
+            this.Hide();
+
         }
 
         private void OnClickBtnRecommend()

+ 6 - 2
GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightEndView.cs

@@ -34,9 +34,13 @@ namespace GFGGame
         }
         private void UpdateView()
         {
+
             FieldCfg fieldCfg = FieldCfgArray.Instance.GetCfg(FieldDataManager.Instance.chapterId);
-            string num = StringUtil.GetColorText(string.Format("{0}/{1}", 0, fieldCfg.num), "#BB674E");
+            string num = StringUtil.GetColorText(string.Format("{0}/{1}", FieldDataManager.Instance.fieldResult.passLvl, fieldCfg.num), "#BB674E");
             _ui.m_txtNum.text = string.Format("第{0}轮", num);
+            _ui.m_txtCostNum.text = FieldDataManager.Instance.fieldResult.costNum.ToString();
+            _ui.m_txtHas.text = string.Format("已拥有:{0}", ItemDataManager.GetItemNum(FieldDataManager.Instance.fieldResult.bonusList[0].id));
+            _ui.m_list.numItems = FieldDataManager.Instance.fieldResult.bonusList.Count;
         }
         protected override void OnHide()
         {
@@ -46,7 +50,7 @@ namespace GFGGame
         private void ListItemRender(int index, GObject obj)
         {
 
-            ItemData reward = new ItemData();
+            ItemData reward = FieldDataManager.Instance.fieldResult.bonusList[index];
             if (obj.data == null)
             {
                 obj.data = new ItemView(obj as GComponent);

+ 28 - 8
GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightInfoView.cs

@@ -8,8 +8,8 @@ namespace GFGGame
     public class FieldFightInfoView : BaseWindow
     {
         private UI_FieldFightInfoUI _ui;
-        private StoryLevelCfg _storyLevelCfg;
-        private StoryFightCfg _storyFightCfg;
+        // private StoryLevelCfg _storyLevelCfg;
+        // private StoryFightCfg _storyFightCfg;
 
         private int _time = 3;
         public override void Dispose()
@@ -33,16 +33,23 @@ namespace GFGGame
         {
             base.OnShown();
             _time = 3;
+
             UpdateView();
         }
         private void UpdateView()
         {
-            _ui.m_txtName.text = _storyFightCfg.targetName;
-            _ui.m_txtDesc.text = _storyLevelCfg.desc;
-            FieldCfg fieldCfg = FieldCfgArray.Instance.GetCfg(FieldDataManager.Instance.chapterId);
-            string num = StringUtil.GetColorText(string.Format("{0}/{1}", 0, fieldCfg.num), "#BB674E");
+            FieldDataManager dataManager = FieldDataManager.Instance;
+            FieldCfg fieldCfg = FieldCfgArray.Instance.GetCfg(dataManager.chapterId);
+            StoryLevelCfg storyLevelCfg = StoryLevelCfgArray.Instance.GetCfgs(fieldCfg.type, 0, fieldCfg.id)[dataManager.currFightLv];
+            StoryFightCfg storyFightCfg = StoryFightCfgArray.Instance.GetCfg(storyLevelCfg.fightID);
+            dataManager.currFightLv++;
+            InstanceZonesDataManager.currentLevelCfgId = storyLevelCfg.id;
+
+            _ui.m_txtName.text = storyFightCfg.targetName;
+            _ui.m_txtDesc.text = storyLevelCfg.desc;
+            string num = StringUtil.GetColorText(string.Format("{0}/{1}", dataManager.currFightLv, fieldCfg.num), "#BB674E");
             _ui.m_txtNum.text = string.Format("第{0}轮", num);
-            _ui.m_loaNpc.url = ResPathUtil.GetNpcHeadPath(_storyFightCfg.targetRes);
+            _ui.m_loaNpc.url = ResPathUtil.GetNpcHeadPath(storyFightCfg.targetRes);
             _ui.m_txtTime.text = string.Format("{0}秒后自动进入下一轮", _time);
             Timers.inst.Add(1, _time, OnTimerUpdate, 1);
 
@@ -55,6 +62,13 @@ namespace GFGGame
             {
                 Timers.inst.Remove(OnTimerUpdate);
                 this.Hide();
+
+                InstanceZonesDataManager.currentCardId = FieldFightDataManager.Instance.CurrentCardId;
+                InstanceZonesDataManager.currentScoreType = FieldFightDataManager.Instance.CurrentScoreType;
+                InstanceZonesDataManager.currentLevelCfgId = FieldFightDataManager.Instance.CurrentScoreType;
+                EquipDataCache.cacher.equipDatas = FieldFightDataManager.Instance.equipDatas;
+
+                ViewManager.Show(ViewName.STORY_FIGHT_TARGET_VIEW);
             }
             _ui.m_txtTime.text = string.Format("{0}秒后自动进入下一轮", _time);
         }
@@ -66,9 +80,15 @@ namespace GFGGame
             {
                 Timers.inst.Add(1, _time, OnTimerUpdate, 1);
             })
-            .SetRightButton(true, "中止", (object data) =>
+            .SetRightButton(true, "中止", async (object data) =>
             {
                 this.Hide();
+                bool result = await FieldSProxy.ReqFieldInstanceResult();
+                if (result)
+                {
+                    ViewManager.Hide<FieldView>();
+                    ViewManager.Show<FieldFightEndView>();
+                }
             });
         }
         protected override void OnHide()

+ 12 - 5
GameClient/Assets/Game/HotUpdate/Views/Field/FieldView.cs

@@ -31,6 +31,10 @@ namespace GFGGame
             _ui.m_btnTask.onClick.Add(OnBtnTaskClick);
 
             _ui.m_c1.onChanged.Add(OnDifficultyChange);
+
+            FieldDataManager.Instance.fieldInfos.theme = 1;
+            FieldDataManager.Instance.fieldInfos.bonusWeekly = 250;
+            FieldDataManager.Instance.fieldInfos.bonusMaxLimit = 800;
         }
 
         protected override void OnShown()
@@ -50,8 +54,7 @@ namespace GFGGame
                 _ui.target.GetChild("btn" + i).asButton.GetChild("imgLock").asImage.visible = !isPass;
             }
             UpdateView();
-            _ui.m_proTaskReward.max = 100;
-            _ui.m_proTaskReward.value = 88;
+
         }
 
         protected override void OnHide()
@@ -68,7 +71,7 @@ namespace GFGGame
         {
             FieldCfg cfg = FieldCfgArray.Instance.dataArray[_selectedIndex];
             bool isPass = InstanceZonesDataManager.CheckLevelPass(cfg.storyLvId);
-            if (!isPass && _ui.m_c1.selectedIndex != ConstInstanceZonesSubType.Normal)
+            if (_ui.m_c1.selectedIndex != ConstInstanceZonesSubType.Normal && !isPass)
             {
                 _ui.m_c1.selectedIndex = _selectedIndex;
                 StoryLevelCfg storyLevelCfg = StoryLevelCfgArray.Instance.GetCfg(cfg.storyLvId);
@@ -76,7 +79,9 @@ namespace GFGGame
                 PromptController.Instance.ShowFloatTextPrompt(str);
                 return;
             }
-            if (_dataManager.fieldInfos.highestLvls[_ui.m_c1.selectedIndex] < cfg.num && _ui.m_c1.selectedIndex != ConstInstanceZonesSubType.Normal)
+            int priorIndex = _ui.m_c1.selectedIndex - 1;
+            FieldCfg priorfg = priorIndex >= 0 ? FieldCfgArray.Instance.dataArray[priorIndex] : null;
+            if (priorfg != null && _dataManager.GetHighestLvByChapterId(priorfg.id) < cfg.num)
             {
                 _ui.m_c1.selectedIndex = _selectedIndex;
                 PromptController.Instance.ShowFloatTextPrompt("需通关前置关卡");
@@ -90,8 +95,10 @@ namespace GFGGame
         private void UpdateView()
         {
             _ui.m_txtScore.text = ConstDressUpScoreType.scoreTypeList()[_dataManager.fieldInfos.theme].ToString();
-            _ui.m_txtMaxLv.text = string.Format("最高记录:{0}/{1}", _dataManager.fieldInfos.highestLvls[_selectedIndex], _curCfg.num);
+            _ui.m_txtMaxLv.text = string.Format("最高记录:{0}/{1}", _dataManager.GetHighestLvByChapterId(_dataManager.chapterId), _curCfg.num);
             _ui.m_txtConsume.text = string.Format("x{0}", _curCfg.needPower);
+            _ui.m_proTaskReward.max = _dataManager.fieldInfos.bonusMaxLimit;
+            _ui.m_proTaskReward.value = _dataManager.fieldInfos.bonusWeekly;
         }
         private void OnClickBtnGo()
         {

+ 1 - 6
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs

@@ -73,12 +73,7 @@ namespace GFGGame
         {
             CardData cardData = cardList[index];
             UI_ListCardItem item = UI_ListCardItem.Proxy(obj);// obj as GButton;
-            // item.GetChild("txtName").asTextField.text = cardData.itemCfg.name;
-            // item.GetChild("comCardMask").asCom.GetChild("loaCard").asLoader.url = ResPathUtil.GetCardSmallPath(cardData.resources[cardData.resIndex]);
-            // item.GetChild("txtLv").asTextField.text = string.Format("Lv.\n{0}", cardData.lv);
-            // item.GetChild("loaRarity").asLoader.url = ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + cardData.itemCfg.rarity);
-            // UI_ComStar comStar = UI_ComStar.Proxy(item.GetChild("comStar").asCom);
-            // comStar.m_c1.selectedIndex = cardData.star;
+
             item.m_txtName.text = cardData.itemCfg.name;
             item.m_comCardMask.m_loaCard.asLoader.url = ResPathUtil.GetCardSmallPath(cardData.resources[cardData.resIndex]);
             item.m_txtLv.text = string.Format("Lv.\n{0}", cardData.lv);

+ 1 - 2
GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs

@@ -144,19 +144,18 @@ namespace GFGGame
             {
                 _ui.m_c1.selectedIndex = 1;
                 Timers.inst.Remove(OnClickBtnClose);
+                ViewManager.Show<FieldView>();
 
                 if (!this._resultData.Result || FieldDataManager.Instance.currFightLv == FieldCfgArray.Instance.GetCfg(FieldDataManager.Instance.chapterId).num)
                 {
                     bool result = await FieldSProxy.ReqFieldInstanceResult();
                     if (result)
                     {
-                        ViewManager.Show<FieldView>();
                         ViewManager.Show<FieldFightEndView>();
                     }
                 }
                 else
                 {
-                    ViewManager.Show<FieldView>();
                     ViewManager.Show<FieldFightInfoView>();
                 }
             }

BIN
GameClient/Assets/ResIn/UI/Field/Field_fui.bytes