zhaoyang %!s(int64=3) %!d(string=hai) anos
pai
achega
cf91f66e72
Modificáronse 37 ficheiros con 772 adicións e 63 borrados
  1. 2 2
      FGUIProject/assets/Field/FieldUI.xml
  2. 1 6
      FGUIProject/assets/Field/components/Button2.xml
  3. 1 1
      FGUIProject/assets/Main/MainUI.xml
  4. 6 1
      FGUIProject/assets/Main/StoryFightResultUI.xml
  5. 1 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstStorageId.cs
  6. 81 0
      GameClient/Assets/Game/HotUpdate/Data/FieldDataManager.cs
  7. 11 0
      GameClient/Assets/Game/HotUpdate/Data/FieldDataManager.cs.meta
  8. 15 0
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjDataCache.cs
  9. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldFightEndUI.cs.meta
  10. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldFightInfoUI.cs.meta
  11. 7 7
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldTaskUI.cs
  12. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldTaskUI.cs.meta
  13. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldUI.cs
  14. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldUI.cs.meta
  15. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_ListItem.cs.meta
  16. 4 4
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs
  17. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryFightResultUI.cs
  18. 25 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/FieldSProxy.cs
  19. 11 0
      GameClient/Assets/Game/HotUpdate/ServerProxy/FieldSProxy.cs.meta
  20. 8 0
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs
  21. 8 0
      GameClient/Assets/Game/HotUpdate/Views/Field.meta
  22. 40 0
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightEndView.cs
  23. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightEndView.cs.meta
  24. 40 0
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightInfoView.cs
  25. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightInfoView.cs.meta
  26. 51 0
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldTaskView.cs
  27. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldTaskView.cs.meta
  28. 75 0
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldView.cs
  29. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldView.cs.meta
  30. 55 32
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  31. 28 7
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs
  32. 5 0
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  33. BIN=BIN
      GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes
  34. 96 0
      GameClient/Assets/ResIn/UI/Field/Field_atlas0.png.meta
  35. 96 0
      GameClient/Assets/ResIn/UI/Field/Field_atlas_8jo91.png.meta
  36. BIN=BIN
      GameClient/Assets/ResIn/UI/Field/Field_fui.bytes
  37. BIN=BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes

+ 2 - 2
FGUIProject/assets/Field/FieldUI.xml

@@ -7,7 +7,7 @@
     </image>
     <component id="n1_8jo9" name="btnBack" src="9xlo8" fileName="components/ButtonBack1.xml" pkg="eg2y0ldp" xy="35,80"/>
     <component id="n5_s20j" name="btn0" src="s20j4" fileName="components/Button1.xml" xy="157,355">
-      <Button title="初" controller="c1" page="0"/>
+      <Button checked="true" title="初" controller="c1" page="0"/>
     </component>
     <component id="n6_s20j" name="btn1" src="s20j4" fileName="components/Button1.xml" xy="463,355">
       <Button title="中" controller="c1" page="1"/>
@@ -18,7 +18,7 @@
     <component id="n8_s20j" name="btnGo" src="s20j7" fileName="components/Button2.xml" xy="432,1292">
       <Button title="调查"/>
     </component>
-    <component id="n9_s20j" name="btnReward" src="s20j7" fileName="components/Button2.xml" xy="246,1676">
+    <component id="n9_s20j" name="btnTask" src="s20j7" fileName="components/Button2.xml" xy="246,1676">
       <Button title="上限提升"/>
     </component>
   </displayList>

+ 1 - 6
FGUIProject/assets/Field/components/Button2.xml

@@ -2,12 +2,7 @@
 <component size="252,130" extention="Button">
   <controller name="button" pages="0,up,1,down" selected="1"/>
   <displayList>
-    <image id="n4_s20j" name="n4" src="s20j5" fileName="images/sc_cwcw_2.png" xy="1,-102">
-      <gearDisplay controller="button" pages="0"/>
-    </image>
-    <image id="n5_s20j" name="n5" src="s20j6" fileName="images/sc_cwcw_3.png" xy="0,-102">
-      <gearDisplay controller="button" pages="1"/>
-    </image>
+    <image id="n4_s20j" name="n4" src="s20j5" fileName="images/sc_cwcw_2.png" xy="1,-102"/>
     <text id="n3_s20j" name="title" xy="0,-14" size="252,159" fontSize="40" align="center" vAlign="middle" autoSize="none" singleLine="true" text="">
       <relation target="" sidePair="width-width,height-height"/>
     </text>

+ 1 - 1
FGUIProject/assets/Main/MainUI.xml

@@ -33,7 +33,7 @@
       <relation target="" sidePair="bottom-bottom"/>
       <Button icon="ui://mfvz4q8kkqhddo"/>
     </component>
-    <component id="n45_kqhd" name="btnSurvey" src="q08xu" fileName="components/ButtonModle1.xml" xy="561,1455">
+    <component id="n45_kqhd" name="btnField" src="q08xu" fileName="components/ButtonModle1.xml" xy="561,1455">
       <relation target="" sidePair="bottom-bottom"/>
       <Button icon="ui://mfvz4q8kkqhddn"/>
     </component>

+ 6 - 1
FGUIProject/assets/Main/StoryFightResultUI.xml

@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1920">
+  <controller name="c1" pages="0,,1," selected="0"/>
   <displayList>
     <component id="n2_8xpg" name="expBar" src="8xpg52" fileName="components/CompFightExpBar.xml" xy="33,1924">
+      <gearDisplay controller="c1" pages="0"/>
       <relation target="" sidePair="center-center,bottom-bottom"/>
     </component>
     <graph id="n1_8xpg" name="btnClose" xy="0,0" size="1080,1920" alpha="0" type="rect" fillColor="#ffff0000">
@@ -10,9 +12,12 @@
     <loader id="n3_fvw9" name="bg" xy="8,-415" size="1064,402" group="n7_fvw9" visible="false" url="ui://mfvz4q8k8xpg4u" fill="scale"/>
     <graph id="n4_fvw9" name="holder" xy="539,-215" size="1,1" group="n7_fvw9" type="rect"/>
     <text id="n5_fvw9" name="txtScore" xy="703,-152" size="244,66" group="n7_fvw9" font="ui://mfvz4q8k8xpg4q" fontSize="38" color="#ffffff" autoClearText="true" text="99999">
+      <gearDisplay controller="c1" pages="0"/>
       <relation target="n3_fvw9" sidePair="left-left,top-top"/>
     </text>
-    <component id="n6_fvw9" name="flower" src="s2cc5o" fileName="components/CompFlower3.xml" xy="696,-86" group="n7_fvw9"/>
+    <component id="n6_fvw9" name="flower" src="s2cc5o" fileName="components/CompFlower3.xml" xy="696,-86" group="n7_fvw9">
+      <gearDisplay controller="c1" pages="0"/>
+    </component>
     <group id="n7_fvw9" name="grpTop" xy="8,-415" size="1064,402" advanced="true"/>
   </displayList>
   <transition name="t0">

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstStorageId.cs

@@ -9,6 +9,7 @@ namespace GFGGame
         public const int STORAGE_AUTO_PLAY_SPEED = 20002;//战斗速度
         public const int SKIP_CHECK_OPEN = 20003;//跳过检查功能开启0不跳过,1跳过
         public const int STORAGE_CUSTOME_SUIT_INDEX = 20004;//自定义套装当前使用索引
+        public const int FIELD_AUTO_PLAY_SPEED = 20005;//田野调查战斗速度
 
     }
 }

+ 81 - 0
GameClient/Assets/Game/HotUpdate/Data/FieldDataManager.cs

@@ -0,0 +1,81 @@
+using System.Collections.Generic;
+
+namespace GFGGame
+{
+    public class FieldDataManager : SingletonBase<FieldDataManager>
+    {
+        /// <summary>
+        /// 本期主题
+        /// </summary>
+        public int scoreType = 1;
+
+        public Dictionary<int, int> _levelIdDic = new Dictionary<int, int>();
+        private Dictionary<int, int> _taskDic = new Dictionary<int, int>();
+
+
+
+        public void UpdateTask(int taskId, int state)
+        {
+            if (!_taskDic.ContainsKey(taskId))
+            {
+                _taskDic.Add(taskId, state);
+            }
+            else
+            {
+                _taskDic[taskId] = state;
+            }
+        }
+        /// <summary>
+        /// 根据挑战难度获取副本配置
+        /// </summary>
+        /// <param name="difficulty"></param>
+        /// <returns></returns>
+        public FieldCfg GetFieldCfgByDifficulty(int difficulty)
+        {
+            return FieldCfgArray.Instance.GetCfgs(difficulty)[0];
+        }
+
+        /// <summary>
+        /// 根据挑战难度获取当前战斗Id
+        /// </summary>
+        /// <returns></returns>
+        public int GetLevelIdByDifficulty(int difficulty)
+        {
+            if (_levelIdDic.ContainsKey(difficulty))
+            {
+                return _levelIdDic[difficulty];
+            }
+            else
+            {
+                FieldCfg cfg = GetFieldCfgByDifficulty(difficulty);
+                return StoryLevelCfgArray.Instance.GetCfgs(cfg.type, cfg.subType, cfg.id)[0].id;
+            }
+        }
+        /// <summary>
+        /// 获取任务列表
+        /// </summary>
+        /// <returns></returns>
+        public List<FieldTaskCfg> GetTaskCfgs()
+        {
+            List<FieldTaskCfg> cfgs = new List<FieldTaskCfg>(FieldTaskCfgArray.Instance.dataArray);
+            cfgs.Sort((FieldTaskCfg a, FieldTaskCfg b) =>
+            {
+                int stateA = GetTaskState(a.id);
+                int stateB = GetTaskState(b.id);
+
+                return stateA.CompareTo(stateB);
+
+            });
+            return cfgs;
+        }
+        /// <summary>
+        /// 根据任务ID获取任务状态0可领取1未完成2已领取
+        /// </summary>
+        /// <param name="taskId"></param>
+        /// <returns></returns>
+        public int GetTaskState(int taskId)
+        {
+            return _taskDic.ContainsKey(taskId) ? _taskDic[taskId] : 0;
+        }
+    }
+}

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

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

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

@@ -121,6 +121,21 @@ namespace GFGGame
 
             }
         }
+        private int _fieldFightSpeed = 1;
+        public int fieldFightSpeed
+        {
+            get
+            {
+                return _fieldFightSpeed;
+            }
+            set
+            {
+
+                _fieldFightSpeed = value;
+                StorageSProxy.ReqSetClientValue(ConstStorageId.FIELD_AUTO_PLAY_SPEED, _fieldFightSpeed).Coroutine();
+
+            }
+        }
         public void Dispose()
         {
             _sceneObj = null;

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldFightEndUI.cs.meta

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

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldFightInfoUI.cs.meta

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

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldStageRewardUI.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldTaskUI.cs

@@ -4,18 +4,18 @@ using FairyGUI;
 
 namespace UI.Field
 {
-    public partial class UI_FieldStageRewardUI
+    public partial class UI_FieldTaskUI
     {
         public GComponent target;
         public GList m_list;
         public const string URL = "ui://5oh3t798s20j8";
         public const string PACKAGE_NAME = "Field";
-        public const string RES_NAME = "FieldStageRewardUI";
-        private static UI_FieldStageRewardUI _proxy;
+        public const string RES_NAME = "FieldTaskUI";
+        private static UI_FieldTaskUI _proxy;
 
-        public static UI_FieldStageRewardUI Create(GObject gObject = null)
+        public static UI_FieldTaskUI Create(GObject gObject = null)
         {
-            var ui = new UI_FieldStageRewardUI();
+            var ui = new UI_FieldTaskUI();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -24,11 +24,11 @@ namespace UI.Field
             return ui;
         }
 
-        public static UI_FieldStageRewardUI Proxy(GObject gObject = null)
+        public static UI_FieldTaskUI Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_FieldStageRewardUI();
+                _proxy = new UI_FieldTaskUI();
             }
             var ui = _proxy;
             if(gObject == null)

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldTaskUI.cs.meta

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

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldUI.cs

@@ -13,7 +13,7 @@ namespace UI.Field
         public GButton m_btn1;
         public GButton m_btn2;
         public GButton m_btnGo;
-        public GButton m_btnReward;
+        public GButton m_btnTask;
         public const string URL = "ui://5oh3t7988jo90";
         public const string PACKAGE_NAME = "Field";
         public const string RES_NAME = "FieldUI";
@@ -67,7 +67,7 @@ namespace UI.Field
             m_btn1 = (GButton)comp.GetChild("btn1");
             m_btn2 = (GButton)comp.GetChild("btn2");
             m_btnGo = (GButton)comp.GetChild("btnGo");
-            m_btnReward = (GButton)comp.GetChild("btnReward");
+            m_btnTask = (GButton)comp.GetChild("btnTask");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -77,7 +77,7 @@ namespace UI.Field
             m_btn1 = null;
             m_btn2 = null;
             m_btnGo = null;
-            m_btnReward = null;
+            m_btnTask = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_FieldUI.cs.meta

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

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Field/UI_ListItem.cs.meta

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

+ 4 - 4
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_MainUI.cs

@@ -16,7 +16,7 @@ namespace UI.Main
         public UI_ButtonModle1 m_btnZhaiXing;
         public UI_ButtonModle1 m_btnCiPai;
         public UI_ButtonModle1 m_btnStudio;
-        public UI_ButtonModle1 m_btnSurvey;
+        public UI_ButtonModle1 m_btnField;
         public GList m_list;
         public GButton m_btnChange;
         public const string URL = "ui://mfvz4q8kq08x0";
@@ -75,7 +75,7 @@ namespace UI.Main
             m_btnZhaiXing = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnZhaiXing"));
             m_btnCiPai = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnCiPai"));
             m_btnStudio = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnStudio"));
-            m_btnSurvey = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnSurvey"));
+            m_btnField = (UI_ButtonModle1)UI_ButtonModle1.Create(comp.GetChild("btnField"));
             m_list = (GList)comp.GetChild("list");
             m_btnChange = (GButton)comp.GetChild("btnChange");
         }
@@ -97,8 +97,8 @@ namespace UI.Main
             m_btnCiPai = null;
             m_btnStudio.Dispose();
             m_btnStudio = null;
-            m_btnSurvey.Dispose();
-            m_btnSurvey = null;
+            m_btnField.Dispose();
+            m_btnField = null;
             m_list = null;
             m_btnChange = null;
             if(disposeTarget && target != null)

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryFightResultUI.cs

@@ -7,6 +7,7 @@ namespace UI.Main
     public partial class UI_StoryFightResultUI
     {
         public GComponent target;
+        public Controller m_c1;
         public UI_CompFightExpBar m_expBar;
         public GGraph m_btnClose;
         public GLoader m_bg;
@@ -62,6 +63,7 @@ namespace UI.Main
 
         private void Init(GComponent comp)
         {
+            m_c1 = comp.GetController("c1");
             m_expBar = (UI_CompFightExpBar)UI_CompFightExpBar.Create(comp.GetChild("expBar"));
             m_btnClose = (GGraph)comp.GetChild("btnClose");
             m_bg = (GLoader)comp.GetChild("bg");
@@ -73,6 +75,7 @@ namespace UI.Main
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_c1 = null;
             m_expBar.Dispose();
             m_expBar = null;
             m_btnClose = null;

+ 25 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/FieldSProxy.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using ET;
+using GFGGame;
+
+
+namespace GFGGame
+{
+    public static class FieldSProxy
+    {
+        public static async ETTask<bool> ClothingDecompose(List<int> itemIds, List<int> itemNums)
+        {
+            M2C_ClothingDecompose response = null;
+            response = (M2C_ClothingDecompose)await MessageHelper.SendToServer(new C2M_ClothingDecompose() { itemIds = itemIds, itemNums = itemNums });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.bonusList));
+                    return true;
+                }
+            }
+            return false;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/FieldSProxy.cs.meta

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

+ 8 - 0
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -118,6 +118,10 @@ namespace GFGGame
             _levelID = (int)viewData;
             _levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
             _fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
+            if (_levelCfg.type == ConstInstanceZonesType.Field)
+            {
+                _fightCfg.scoreType = FieldDataManager.Instance.scoreType;
+            }
             if (!string.IsNullOrEmpty(_fightCfg.music))
             {
                 MusicManager.Instance.Play(ResPathUtil.GetMusicPath(_fightCfg.music, "mp3"));
@@ -193,6 +197,10 @@ namespace GFGGame
             {
                 ViewManager.Show(StudioDataManager.Instance.VIEW_NAME, new object[] { StudioDataManager.Instance.TYPE_SELECT_INDEX, StudioDataManager.Instance.PROPERTY_SELECT_INDEX }, ViewManager.GetGoBackDatas(StudioDataManager.Instance.VIEW_NAME));
             }
+            else if (_levelCfg.type == ConstInstanceZonesType.Field)
+            {
+                ViewManager.GoBackFrom(ViewName.DRESS_UP_FIGHT_VIEW);
+            }
             else
             {
                 ViewManager.GoBackFrom(ViewName.STORY_CHAPTER_VIEW);

+ 8 - 0
GameClient/Assets/Game/HotUpdate/Views/Field.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4c55803908b4a7f488557f744609809b
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 40 - 0
GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightEndView.cs

@@ -0,0 +1,40 @@
+
+using UI.Field;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class FieldFightEndView : BaseWindow
+    {
+        private UI_FieldFightEndUI _ui;
+
+
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            _ui = UI_FieldFightEndUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
+
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightEndView.cs.meta

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

+ 40 - 0
GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightInfoView.cs

@@ -0,0 +1,40 @@
+
+using UI.Field;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class FieldFightInfoView : BaseWindow
+    {
+        private UI_FieldFightInfoUI _ui;
+
+
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            _ui = UI_FieldFightInfoUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
+
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightInfoView.cs.meta

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

+ 51 - 0
GameClient/Assets/Game/HotUpdate/Views/Field/FieldTaskView.cs

@@ -0,0 +1,51 @@
+
+using System.Collections.Generic;
+using FairyGUI;
+using UI.Field;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class FieldTaskView : BaseWindow
+    {
+        private UI_FieldTaskUI _ui;
+        private List<FieldTaskCfg> _cfgs;
+
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            _ui = UI_FieldTaskUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
+
+            _ui.m_list.itemRenderer = ListItemRender;
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _cfgs = FieldDataManager.Instance.GetTaskCfgs();
+            _ui.m_list.numItems = _cfgs.Count;
+
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+        private void ListItemRender(int index, GObject obj)
+        {
+            UI_ListItem item = UI_ListItem.Proxy(obj);
+
+
+            UI_ListItem.ClearProxy();
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Field/FieldTaskView.cs.meta

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

+ 75 - 0
GameClient/Assets/Game/HotUpdate/Views/Field/FieldView.cs

@@ -0,0 +1,75 @@
+
+using ET;
+using UI.Field;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class FieldView : BaseWindow
+    {
+        private UI_FieldUI _ui;
+
+        private FieldCfg _curCfg;
+        private int _curLevelId;
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_FieldUI.PACKAGE_NAME;
+            _ui = UI_FieldUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btnGo.onClick.Add(OnClickBtnGo);
+            _ui.m_btnTask.onClick.Add(OnBtnTaskClick);
+
+            _ui.m_c1.onChanged.Add(OnDifficultyChange);
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _curCfg = FieldDataManager.Instance.GetFieldCfgByDifficulty(_ui.m_c1.selectedIndex);
+            _curLevelId = FieldDataManager.Instance.GetLevelIdByDifficulty(_ui.m_c1.selectedIndex);
+
+
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(FieldView).FullName);
+        }
+
+        private void OnDifficultyChange()
+        {
+            _curCfg = FieldDataManager.Instance.GetFieldCfgByDifficulty(_ui.m_c1.selectedIndex);
+            _curLevelId = FieldDataManager.Instance.GetLevelIdByDifficulty(_ui.m_c1.selectedIndex);
+        }
+
+
+        private void OnClickBtnGo()
+        {
+            if (GameGlobal.myNumericComponent.GetAsInt(NumericType.Power) < _curCfg.needPower)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("体力不足");
+                return;
+            }
+            ViewManager.Show(ViewName.DRESS_UP_FIGHT_VIEW, _curLevelId, new object[] { typeof(FieldView).Name, this.viewData }, true);
+            InstanceZonesDataManager.currentLevelCfgId = _curLevelId;
+        }
+        private void OnBtnTaskClick()
+        {
+            ViewManager.Show<FieldTaskView>();
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Field/FieldView.cs.meta

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

+ 55 - 32
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs

@@ -25,8 +25,9 @@ namespace GFGGame
 
         private int _skillCount;
 
-        // private float _speed = 1;
-        private bool isAutoPlay = false;
+        private float _speed = 1;
+        private bool _isAutoPlay = false;
+        private StoryLevelCfg _levelCfg;
 
         private GameObject _gameObject0;
         // private GoWrapper _wrapper0;
@@ -202,15 +203,21 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.CARD_SKILL, UpdateCircleResult);
 
             SceneController.UpdateRole(EquipDataCache.cacher.equipDatas, _sceneObject);
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+            _levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
+            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
             SceneController.UpdateFightTarget(fightCfg.targetRes, _sceneObject);
 
             UpdateNormal();
             _ui.m_selfName.m_txtName.text = RoleDataManager.roleName;
             _ui.m_targetName.m_txtName.text = fightCfg.targetName;
-            _ui.m_btnSpeedUp.visible = EquipDataCache.cacher.autoPlay;
-            _ui.m_btnSpeedUp.title = "x" + EquipDataCache.cacher.fightSpeed;
+            // StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
+            _speed = EquipDataCache.cacher.fightSpeed;
+            if (_levelCfg.type == ConstInstanceZonesType.Field)
+            {
+                _speed = EquipDataCache.cacher.fieldFightSpeed;
+            }
+            _ui.m_btnSpeedUp.visible = _isAutoPlay;
+            _ui.m_btnSpeedUp.title = "x" + _speed;
 
 
             ScoreSystemData.Instance.SetEquipDicWithType();
@@ -225,7 +232,7 @@ namespace GFGGame
             {
                 _ui.m_btnSkill0.target.touchable = false;
             }
-            Timers.inst.Add(0.5f / EquipDataCache.cacher.fightSpeed, 1, CircleScoreStart);//评分开始
+            Timers.inst.Add(0.5f / _speed, 1, CircleScoreStart);//评分开始
 
         }
         private void UpdateNormal()
@@ -234,19 +241,26 @@ namespace GFGGame
 
             if (_index == 0 && GuideDataManager.IsGuideFinish(ConstGuideId.TARGET_FIGHT) <= 0)//引导中禁止自动战斗
             {
-                EquipDataCache.cacher.fightSpeed = 1;
+                _speed = 1;
                 EquipDataCache.cacher.autoPlay = false;
             }
+
+            if (_levelCfg.type == ConstInstanceZonesType.Field || EquipDataCache.cacher.autoPlay)
+            {
+                _isAutoPlay = true;
+                // _speed = EquipDataCache.cacher.fieldFightSpeed;
+            }
+
             RoleSkillCfg[] roleSkillCfgs = RoleSkillCfgArray.Instance.dataArray;
             for (int i = 0; i < roleSkillCfgs.Length; i++)
             {
                 GComponent btnSkill = _ui.target.GetChild("btnSkill" + i).asCom;
                 UI_ComBtnSkill item = UI_ComBtnSkill.Proxy(btnSkill);
                 item.m_txtCount.text = roleSkillCfgs[i].limiteCount.ToString();
-                if (EquipDataCache.cacher.autoPlay)
+                if (_isAutoPlay)
                 {
-                    isAutoPlay = true;
-                    btnSkill.touchable = EquipDataCache.cacher.autoPlay;
+
+                    btnSkill.touchable = !EquipDataCache.cacher.autoPlay;
                     OnBtnSkillClick(btnSkill);
                 }
             }
@@ -282,8 +296,7 @@ namespace GFGGame
             EquipDataCache.cacher.totalScore = (int)Math.Round(_score);
 
 
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
             double targetScore = fightCfg.targetPartsScoreArr[_index] * ConstScoreSystem.PART_SCORE;
             Debug.Log("targetScore:" + targetScore);
             _ui.m_comTargetCircle.m_txtCount.text = ((int)targetScore).ToString();
@@ -296,8 +309,7 @@ namespace GFGGame
         //顶部评分进度条
         private void UpdateProgressBar()
         {
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
             _ui.m_proScore.m_txtNpcScore.text = string.Format("{0}{1}", fightCfg.targetName, (int)_targetScore);
             _ui.m_proScore.m_txtMineScore.text = string.Format("{0}{1}", RoleDataManager.roleName, (int)_score);
             // _ui.m_proScore.m_comBar.m_imgAni.visible = true;
@@ -343,17 +355,17 @@ namespace GFGGame
                 return;
             }
             _ui.m_comMineCircle.m_t0.ignoreEngineTimeScale = false;
-            _ui.m_comMineCircle.m_t0.timeScale = EquipDataCache.cacher.fightSpeed;
+            _ui.m_comMineCircle.m_t0.timeScale = _speed;
             _ui.m_comMineCircle.m_t0.Play(CircleScoreEnd);
             _ui.m_comMineCircle.m_t1.ignoreEngineTimeScale = false;
-            _ui.m_comMineCircle.m_t1.timeScale = EquipDataCache.cacher.fightSpeed;
+            _ui.m_comMineCircle.m_t1.timeScale = _speed;
             _ui.m_comMineCircle.m_t1.Play(() => { PlayScoreTWEffect(_ui.m_holderPartScore, _ui.m_comMineCircle.target.position, _ui.m_proScore.target.position); });
 
             _ui.m_comTargetCircle.m_t0.ignoreEngineTimeScale = false;
-            _ui.m_comTargetCircle.m_t0.timeScale = EquipDataCache.cacher.fightSpeed;
+            _ui.m_comTargetCircle.m_t0.timeScale = _speed;
             _ui.m_comTargetCircle.m_t0.Play();
             _ui.m_comTargetCircle.m_t1.ignoreEngineTimeScale = false;
-            _ui.m_comTargetCircle.m_t1.timeScale = EquipDataCache.cacher.fightSpeed;
+            _ui.m_comTargetCircle.m_t1.timeScale = _speed;
             _ui.m_comTargetCircle.m_t1.Play(() => { PlayScoreTWEffect(_ui.m_holderPartScoreNpc, _ui.m_comTargetCircle.target.position, _ui.m_proScore.target.position + new Vector3(_ui.m_proScore.target.width, 0, 0)); });
         }
         private void PlayScoreTWEffect(GGraph holderScore, Vector3 startValue, Vector3 endValue)
@@ -381,7 +393,7 @@ namespace GFGGame
             {
                 _ui.m_comTargetCircle.target.visible = false;
                 _ui.m_comMineCircle.target.visible = false;
-                Timers.inst.Add(0.5f / EquipDataCache.cacher.fightSpeed, 1, CircleScoreStart);//评分结束
+                Timers.inst.Add(0.5f / _speed, 1, CircleScoreStart);//评分结束
             }
 
         }
@@ -391,7 +403,7 @@ namespace GFGGame
 
         private void OnBtnSkillClick(GComponent obj)
         {
-            if (EquipDataCache.cacher.autoPlay && !isAutoPlay) return;
+            // if (_isAutoPlay) return;
             UI_ComBtnSkill item = UI_ComBtnSkill.Proxy(obj);
             RoleSkillCfg cfg = item.target.data as RoleSkillCfg;
             int count = (int)item.m_icon.data;
@@ -409,7 +421,7 @@ namespace GFGGame
             GProgressBar bar = item.m_proCD;
             bar.visible = true;
             bar.value = 100;
-            bar.TweenValue(0, time / EquipDataCache.cacher.fightSpeed).OnComplete((GTweener tweener) =>
+            bar.TweenValue(0, time / _speed).OnComplete((GTweener tweener) =>
               {
                   GProgressBar bar1 = (GProgressBar)tweener.target;
                   UI_ComBtnSkill item1 = UI_ComBtnSkill.Proxy(bar1.parent);
@@ -418,7 +430,7 @@ namespace GFGGame
                   item1.m_c1.selectedIndex = count >= cfg.limiteCount ? 2 : 0;
 
                   item1.m_proCD.visible = false;
-                  if (EquipDataCache.cacher.autoPlay && isAutoPlay)
+                  if (_isAutoPlay)
                   {
                       OnBtnSkillClick(item1.target);
                   }
@@ -464,7 +476,7 @@ namespace GFGGame
             // comRoleSkillScore.m_comRoleSkill.m_c1.selectedIndex = 0;
             comRoleSkillScore.m_txtScore.SetVar("count", "+" + score.ToString()).FlushVars();
             comRoleSkillScore.m_t0.ignoreEngineTimeScale = false;
-            comRoleSkillScore.m_t0.timeScale = EquipDataCache.cacher.fightSpeed;
+            comRoleSkillScore.m_t0.timeScale = _speed;
             comRoleSkillScore.m_t0.Play(() =>
                 {
                     comRoleSkillScore.target.visible = false;
@@ -486,7 +498,7 @@ namespace GFGGame
 
             comSkillMinus.visible = true;
             comSkillMinus.value = 0;
-            comSkillMinus.TweenValue(100, 2f / EquipDataCache.cacher.fightSpeed).OnComplete(() =>
+            comSkillMinus.TweenValue(100, 2f / _speed).OnComplete(() =>
               {
                   comSkillMinus.visible = false;
 
@@ -517,7 +529,7 @@ namespace GFGGame
 
                   comRoleSkillScore.m_txtScore.SetVar("count", "-" + score.ToString()).FlushVars();
                   comRoleSkillScore.m_t0.ignoreEngineTimeScale = false;
-                  comRoleSkillScore.m_t0.timeScale = EquipDataCache.cacher.fightSpeed;
+                  comRoleSkillScore.m_t0.timeScale = _speed;
                   comRoleSkillScore.m_t0.Play(() =>
                   {
                       comRoleSkillScore.target.visible = false;
@@ -536,7 +548,7 @@ namespace GFGGame
             UI_ComRoleSkill1 comSkillBreak = role == SkillDataManager.MINE ? _ui.m_ComRoleSkillMineBreak : _ui.m_ComRoleSkillNpcBreak;
             comSkillBreak.target.visible = true;
             comSkillBreak.m_t0.ignoreEngineTimeScale = false;
-            comSkillBreak.m_t0.timeScale = EquipDataCache.cacher.fightSpeed;
+            comSkillBreak.m_t0.timeScale = _speed;
             comSkillBreak.m_t0.Play(() =>
             {
                 comSkillBreak.target.visible = false;
@@ -556,7 +568,7 @@ namespace GFGGame
             comSkillShield.m_holder.visible = true;
             comSkillShield.m_holder1.visible = false;
 
-            Timers.inst.Add(cfg.duration / EquipDataCache.cacher.fightSpeed, 1, (param) =>
+            Timers.inst.Add(cfg.duration / _speed, 1, (param) =>
               {
                   // comSkillShield.target.visible = false;
                   comSkillShield.m_holder.visible = false;
@@ -566,7 +578,7 @@ namespace GFGGame
             UI_ComRoleSkill1 comSkillShieldEff = role == SkillDataManager.MINE ? _ui.m_ComRoleSkillMineShield : _ui.m_ComRoleSkillNpcShield;
             comSkillShieldEff.target.visible = true;
             comSkillShieldEff.m_t0.ignoreEngineTimeScale = false;
-            comSkillShieldEff.m_t0.timeScale = EquipDataCache.cacher.fightSpeed;
+            comSkillShieldEff.m_t0.timeScale = _speed;
             comSkillShieldEff.m_t0.Play(() =>
             {
                 comSkillShieldEff.target.visible = false;
@@ -575,8 +587,19 @@ namespace GFGGame
         }
         private void OnBtnSpeedUp()
         {
-            EquipDataCache.cacher.fightSpeed = EquipDataCache.cacher.fightSpeed == 1 ? EquipDataCache.cacher.maxFightSpeed : 1;
-            _ui.m_btnSpeedUp.title = "x" + EquipDataCache.cacher.fightSpeed;
+            if (_levelCfg.type == ConstInstanceZonesType.Field)
+            {
+                EquipDataCache.cacher.fieldFightSpeed = EquipDataCache.cacher.fieldFightSpeed == 1 ? EquipDataCache.cacher.maxFightSpeed : 1;
+                _speed = EquipDataCache.cacher.fieldFightSpeed;
+            }
+            else
+            {
+
+                EquipDataCache.cacher.fightSpeed = EquipDataCache.cacher.fightSpeed == 1 ? EquipDataCache.cacher.maxFightSpeed : 1;
+                _speed = EquipDataCache.cacher.fightSpeed;
+
+            }
+            _ui.m_btnSpeedUp.title = "x" + _speed;
         }
 
         private void OnBtnBackClick()
@@ -646,7 +669,7 @@ namespace GFGGame
                 btnSkill.GetController("c1").selectedIndex = 0;
                 // btnSkill.GetTransition("t0").Stop();
             }
-            isAutoPlay = false;
+            _isAutoPlay = false;
             Timers.inst.Remove(CircleScoreStart);
             Timers.inst.Remove(Skip);
             _gameObjects.Clear();

+ 28 - 7
GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs

@@ -25,7 +25,7 @@ namespace GFGGame
         private GameObject _gameObject;
         private GameObject _gameObject1;
         private GoWrapper _wrapper;
-
+        private StoryLevelCfg _levelCfg;
         private StoryFightResultData _resultData;
 
         public override void Dispose()
@@ -81,6 +81,7 @@ namespace GFGGame
             SceneController.UpdateRole(EquipDataCache.cacher.equipDatas, _sceneObject);
             _ui.m_txtScore.text = "" + _resultData.Score;
             _ui.m_expBar.m_txtLvl.text = "" + GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
+
             RoleLevelCfg roleLevelCfg = RoleLevelCfgArray.Instance.GetCfg(GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl));
             // _ui.m_expBar.m_pbExp.max = roleLevelCfg.exp;
             // _ui.m_expBar.m_pbExp.value = GameGlobal.myNumericComponent.GetAsInt(NumericType.Exp);
@@ -93,6 +94,15 @@ namespace GFGGame
             // _ui.m_selfScore.m_bg.url = "ui://Main/zd_jsjm_jszi_" + _resultData.Star;
             TextFormat tf = _ui.m_txtScore.textFormat;
             UpdateToCheckGuide(null);
+
+            _ui.m_c1.selectedIndex = 0;
+            _levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
+            if (_levelCfg.type == ConstInstanceZonesType.Field)
+            {
+                _ui.m_c1.selectedIndex = 1;
+                Timers.inst.Add(3, 1, OnClickBtnClose);
+            }
+
             if (!this._resultData.Result)
             {
                 tf.font = "ui://Main/Font3";
@@ -106,8 +116,8 @@ namespace GFGGame
                 _ui.m_expBar.target.visible = true;
                 _ui.m_btnClose.enabled = false;
                 //过关
-                StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-                StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+
+                StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
                 _ui.m_expBar.m_txtLvlAdded.text = "" + fightCfg.exp;
                 Timers.inst.Add(0.5f, 1, this.AddExp);
             }
@@ -127,12 +137,23 @@ namespace GFGGame
             }
         }
 
-        private void OnClickBtnClose()
+        private void OnClickBtnClose(object param)
         {
             this.Hide();
-            InstanceZonesController.OnFinishStoryLevel(InstanceZonesDataManager.currentLevelCfgId, _resultData.FirstPass, true);
-            //尝试显示奖励
-            BonusController.TryShowBonusList(_resultData.BonusList);
+            if (_levelCfg.type == ConstInstanceZonesType.Field)
+            {
+                _ui.m_c1.selectedIndex = 1;
+                Timers.inst.Remove(OnClickBtnClose);
+                ViewManager.Show<FieldView>();
+                ViewManager.Show<FieldFightInfoView>();
+            }
+            else
+            {
+
+                InstanceZonesController.OnFinishStoryLevel(InstanceZonesDataManager.currentLevelCfgId, _resultData.FirstPass, true);
+                //尝试显示奖励
+                BonusController.TryShowBonusList(_resultData.BonusList);
+            }
             InstanceZonesDataManager.currentCardId = -1;
         }
 

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -109,6 +109,7 @@ namespace GFGGame
             _ui.m_btnXiuFang.target.onTouchBegin.Add(OnClickBtnXiuFang);
             _ui.m_btnCiPai.target.onTouchBegin.Add(OnClickBtnCiPai);
             _ui.m_btnStudio.target.onTouchBegin.Add(OnClickBtnStudio);
+            _ui.m_btnField.target.onTouchBegin.Add(OnClickBtnField);
             _ui.m_headBar.target.onClick.Add(OnClickHeadBar);
 
             _btnStore.onClick.Add(OnClickBtnStore);
@@ -257,6 +258,10 @@ namespace GFGGame
         {
             ViewManager.Show<StudioView>(null, new object[] { ViewName.MAINUI_VIEW, this.viewData });
         }
+        private void OnClickBtnField()
+        {
+            ViewManager.Show<FieldView>(null, new object[] { ViewName.MAINUI_VIEW, this.viewData });
+        }
 
         private void OnClickBtnStore()
         {

BIN=BIN
GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes


+ 96 - 0
GameClient/Assets/ResIn/UI/Field/Field_atlas0.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: e3cce33cd9c3f5e4f826c62e5eb0c1b8
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 96 - 0
GameClient/Assets/ResIn/UI/Field/Field_atlas_8jo91.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: bef5be85eb0673b4ea3e4c25c34255d0
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

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


BIN=BIN
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes