Explorar el Código

界面返回处理

huangxiaoyue hace 1 año
padre
commit
e3dd8a6cdb
Se han modificado 19 ficheros con 178 adiciones y 142 borrados
  1. 2 1
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  2. 6 1
      GameClient/Assets/Game/HotUpdate/Data/InstanceZonesDataManager.cs
  3. 1 1
      GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs
  4. 36 38
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs
  5. 2 3
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightInfoView.cs
  6. 61 1
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldView.cs
  7. 1 1
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyShowView.cs
  8. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/ArenaFightResultView.cs
  9. 8 8
      GameClient/Assets/Game/HotUpdate/Views/MainStory/InstanceZonesController.cs
  10. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs
  11. 8 8
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryController.cs
  12. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryDialogView.cs
  13. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleView.cs
  14. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs
  15. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryLevelInfoView.cs
  16. 7 58
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs
  17. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Store/BrocadeWeavTask.cs
  18. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Studio/StudioFilingView.cs
  19. 38 14
      GameClient/Assets/Game/HotUpdate/Views/ViewManager.cs

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

@@ -194,7 +194,7 @@ namespace GFGGame
 
                         //ViewManager.Show<StoryChapterView>(StudioDataManager.Instance.luckyBoxFilingChapterId, new object[] { typeof(ActivityThemeLuckyBoxView).FullName, this.viewData });
 
-                        ViewManager.Show<StoryChapterView>(MainStoryDataManager.currentChapterCfgId, ViewManager.GetGoBackDatas(typeof(StoryChapterListView).FullName), true);
+                        ViewManager.Show<StoryChapterView>(MainStoryDataManager.currentChapterCfgId, ViewManager.GetGoBackDatas(typeof(StoryChapterListView).FullName));
                     }
                 }
                 GMController.AddShowGMViewEventListener();
@@ -288,6 +288,7 @@ namespace GFGGame
             RoleDataHandler.StopUpdate();
             CardDataManager.Clear();
             ItemDataManager.Clear();
+            ViewManager.Clear();
             DecomposeDataManager.Instance.Clear();
             PhotographDataManager.Instance.Clear();
             SkillDataManager.Instance.Clear();

+ 6 - 1
GameClient/Assets/Game/HotUpdate/Data/InstanceZonesDataManager.cs

@@ -21,11 +21,16 @@ namespace GFGGame
         public static bool isResultFighting = false;
         //战斗场景
         public static int FightScene;
-
+        //战斗结算数据
+        public static StoryFightResultData resultData;
+        //是否战斗结算界面关闭
+        public static bool isFightResultHide = false;
 
         public static string[] currentFightTags;
 
         private static int _currentLevelCfgId;
+
+
         //所有副本关卡通用配置表的id
         public static int currentLevelCfgId
         {

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs

@@ -82,7 +82,7 @@ namespace GFGGame
             this.viewCom = _ui.target;
             isfullScreen = true;
             //layer = ConstViewLayer.TOP;
-            //isReturnView = true;
+            isReturnView = true;
             //this.clickBlankToClose = false;
 
             _valueBarController = new ValueBarController(_ui.m_valueBar);

+ 36 - 38
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -67,7 +67,7 @@ namespace GFGGame
             _ui = UI_DressUpFightUI.Create();
             viewCom = _ui.target;
             isfullScreen = true;
-            //isReturnView = true;
+            isReturnView = true;
             _ui.m_btnClose.width = GRoot.inst.width;
             _ui.m_btnClose.height = GRoot.inst.height;
             _ui.m_btnClose.AddRelation(GRoot.inst, RelationType.Size);
@@ -302,36 +302,39 @@ namespace GFGGame
 
         private void backView()
         {
-            if (_IsTeaParty)
-            {
-                ViewManager.Show<LeagueTeaPartyView>();
-            }
-            else if (_levelCfg.type == ConstInstanceZonesType.Studio && _levelCfg.subType != ConstInstanceZonesSubType.Hard3)
-            {
-                ViewManager.Show(StudioDataManager.Instance.VIEW_NAME, StudioDataManager.Instance.PROPERTY_SELECT_INDEX, ViewManager.GetGoBackDatas(StudioDataManager.Instance.VIEW_NAME));
-            }
-            else if (_levelCfg.type == ConstInstanceZonesType.Studio && _levelCfg.subType == ConstInstanceZonesSubType.Hard3)
-            {
-                if (StudioDataManager.Instance.IsluckyBoxFilingChapter())
-                {
-                    ViewManager.Show<StudioFilingView>(StudioDataManager.Instance.GetLuckyBoxActivityID(), ViewManager.GetGoBackDatas(typeof(StudioFilingView).FullName));
-                }
-                else
-                {
-                    ViewManager.Show<StudioFilingView>(null, ViewManager.GetGoBackDatas(typeof(StudioFilingView).FullName));
-                }
-            }
-            else if (_levelCfg.type == ConstInstanceZonesType.Field)
-            {
-                ViewManager.GoBackFrom(typeof(DressUpFightView).FullName);
-            }
-            else
-            {
-                 //ViewManager.GoBackFrom(typeof(StoryChapterView).FullName);
-                ViewManager.Show<StoryChapterView>(_levelCfg.chapterId);//, new object[] { typeof(StoryChapterListView).FullName}
-            }
-            //MyDressUpHelper.dressUpObj.TakeOffAll();
             this.Hide();
+
+            //if (_IsTeaParty)
+            //{
+            //    ViewManager.Show<LeagueTeaPartyView>();
+            //}
+            //else if (_levelCfg.type == ConstInstanceZonesType.Studio && _levelCfg.subType != ConstInstanceZonesSubType.Hard3)
+            //{
+            //    ViewManager.Show(StudioDataManager.Instance.VIEW_NAME, StudioDataManager.Instance.PROPERTY_SELECT_INDEX, ViewManager.GetGoBackDatas(StudioDataManager.Instance.VIEW_NAME));
+            //}
+            //else if (_levelCfg.type == ConstInstanceZonesType.Studio && _levelCfg.subType == ConstInstanceZonesSubType.Hard3)
+            //{
+            //    if (StudioDataManager.Instance.IsluckyBoxFilingChapter())
+            //    {
+            //        ViewManager.Show<StudioFilingView>(StudioDataManager.Instance.GetLuckyBoxActivityID(), ViewManager.GetGoBackDatas(typeof(StudioFilingView).FullName));
+            //    }
+            //    else
+            //    {
+            //        ViewManager.Show<StudioFilingView>(null, ViewManager.GetGoBackDatas(typeof(StudioFilingView).FullName));
+            //    }
+            //}
+            //else if (_levelCfg.type == ConstInstanceZonesType.Field)
+            //{
+            //    ViewManager.Show<FieldView>(null, ViewManager.GetGoBackDatas(typeof(FieldView).FullName));
+            //    //ViewManager.GoBackFrom(typeof(DressUpFightView).FullName);
+            //}
+            //else
+            //{
+            //     //ViewManager.GoBackFrom(typeof(StoryChapterView).FullName);
+            //    ViewManager.Show<StoryChapterView>(_levelCfg.chapterId);//, new object[] { typeof(StoryChapterListView).FullName}
+            //}
+            ////MyDressUpHelper.dressUpObj.TakeOffAll();
+            //this.Hide();
         }
 
         private void OnClickBtnBack()
@@ -684,17 +687,12 @@ namespace GFGGame
                 FieldFightDataManager.Instance.currentLevelCfgId = InstanceZonesDataManager.currentLevelCfgId;
             }
 
-
             if (hasFightTarget)
-            {
-                ViewManager.Show<StoryFightTargetView>();
-            }
+                ViewManager.Show<StoryFightTargetView>(null,null,true);
             else
-            {
-                ViewManager.Show<StoryFightSingleView>();
-            }
-            this.Hide();
+                ViewManager.Show<StoryFightSingleView>(null, null, true);
 
+            ViewManager.DeleteViewStackCountDown(1);
         }
         private void OnClickBtnRecommend()
         {

+ 2 - 3
GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightInfoView.cs

@@ -67,14 +67,13 @@ namespace GFGGame
             if (_time == 0)
             {
                 Timers.inst.Remove(OnTimerUpdate);
-                this.Hide();
 
                 InstanceZonesDataManager.currentCardId = FieldFightDataManager.Instance.CurrentCardId;
                 InstanceZonesDataManager.currentScoreType = FieldFightDataManager.Instance.CurrentScoreType;
                 InstanceZonesDataManager.currentLevelCfgId = FieldFightDataManager.Instance.currentLevelCfgId;
 
-                ViewManager.Hide<FieldView>();
-                ViewManager.Show<StoryFightTargetView>();
+                ViewManager.Show<StoryFightTargetView>(null,null,true);
+                this.Hide();
             }
             _ui.m_txtTime.text = string.Format("{0}秒后自动进入下一轮", _time);
         }

+ 61 - 1
GameClient/Assets/Game/HotUpdate/Views/Field/FieldView.cs

@@ -39,7 +39,7 @@ namespace GFGGame
             _ui = UI_FieldUI.Create();
             this.viewCom = _ui.target;
             isfullScreen = true;
-            //isReturnView = true;
+            isReturnView = true;
 
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
             // _ui.m_btnGo.onClick.Add(OnClickBtnGo);
@@ -82,6 +82,9 @@ namespace GFGGame
 
             Timers.inst.Add(1, 0, UpdateShowTime);
             Timers.inst.AddUpdate(CheckGuide);
+
+            if (InstanceZonesDataManager.isFightResultHide)
+                UpdateStroyFightResult();
         }
 
         protected override void OnHide()
@@ -137,6 +140,63 @@ namespace GFGGame
                 GuideController.TryCompleteGuide(ConstGuideId.FIELD, 1);
             }
         }
+
+        private  async void UpdateStroyFightResult()
+        {
+            var resultData = InstanceZonesDataManager.resultData;
+            FieldCfg fieldCfg = FieldCfgArray.Instance.GetCfg(FieldDataManager.Instance.chapterId);
+            int needPower = 0;
+            for (int i = 0; i < FieldDataManager.Instance.currFightLv + 1; i++)
+            {
+                needPower += fieldCfg.needPower;
+            }
+            if (!resultData.Result || FieldDataManager.Instance.currFightLv == fieldCfg.num || RoleDataManager.power < needPower)
+            {
+                bool result = await FieldSProxy.ReqFieldInstanceResult();
+                if (result)
+                {
+                    ViewManager.Show<FieldFightEndView>();
+                }
+            }
+            else
+            {
+                FieldDataManager _dataManager = FieldDataManager.Instance;
+                _dataManager.accumulateReward += (FieldDataManager.Instance.difficulty + 1) * 5;
+                //这里判断如果获取的马蹄金超过上限了,就终止挑战
+                if (_dataManager.fieldInfos.bonusWeekly + _dataManager.accumulateReward >= _dataManager.fieldInfos.bonusMaxLimit)
+                {
+                    AlertUI.Show("本周可获得奖励已达上限,是否继续挑战?")
+                    .SetLeftButton(true, "取消", async (object data) =>
+                    {
+                        _dataManager.accumulateReward = 0;
+                        bool result = await FieldSProxy.ReqFieldInstanceResult();
+                        if (result)
+                        {
+                            ViewManager.Show<FieldFightEndView>();
+                        }
+                    })
+                    .SetRightButton(true, "确认", async (object data) =>
+                    {
+                        bool result = await FieldSProxy.ReqFieldInstanceResult();
+                        _dataManager.accumulateReward = 0;
+                        FieldCfg _curCfg = FieldCfgArray.Instance.dataArray[FieldDataManager.Instance.difficulty];
+                        LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.TIAN_YE_DIAO_CHA, 2);
+                        int curLevelId = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(_curCfg.type, 0, _curCfg.id)[0].id;
+                        DressUpFightType dressUpFightType = new DressUpFightType();
+                        dressUpFightType.levelID = curLevelId;
+                        dressUpFightType.teaPartID = 0;
+                        ViewManager.Show<DressUpFightView>(dressUpFightType, new object[] { typeof(FieldView).FullName, this.viewData }, true);
+                        InstanceZonesDataManager.currentLevelCfgId = curLevelId;
+                    });
+                }
+                else
+                {
+                    ViewManager.Show<FieldFightInfoView>();
+                }
+            }
+            InstanceZonesDataManager.isFightResultHide = false;
+        }
+
         private void UpdateView()
         {
             _ui.m_loaIcon.url = string.Format("ui://Field/tydc_zizi_{0}", _dataManager.fieldInfos.theme);

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

@@ -116,7 +116,7 @@ namespace GFGGame
 
         private static void OnCompletePriorStoryDialog(bool isSkip, object param)
         {
-            ViewManager.Show<LeagueTeaPartyOverView>(null, new object[] { typeof(LeagueView).FullName, null });
+            //ViewManager.Show<LeagueTeaPartyOverView>(null, new object[] { typeof(LeagueView).FullName, null });
         }
 
         private void UpdateTime(object param)

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

@@ -55,7 +55,7 @@ namespace GFGGame
             _ui = UI_ArenaFightResultUI.Create();
             viewCom = _ui.target;
             isfullScreen = true;
-            isReturnView = true;
+            //isReturnView = true;
         }
 
         protected override void OnInit()

+ 8 - 8
GameClient/Assets/Game/HotUpdate/Views/MainStory/InstanceZonesController.cs

@@ -91,14 +91,14 @@ namespace GFGGame
 
         public static void OnCompleteChapterStoryDialog(bool isSkip, object param)
         {
-            if (!MainStoryDataManager.CheckCurrentLevelPass() && isSkip)
-            {
-                InstanceZonesSProxy.FinishStoryDialogLevel(InstanceZonesDataManager.currentLevelCfgId).Coroutine();
-            }
-            else
-            {
-                OnFinishStoryLevel(InstanceZonesDataManager.currentLevelCfgId, false, false);
-            }
+            //if (!MainStoryDataManager.CheckCurrentLevelPass() && isSkip)
+            //{
+            //    InstanceZonesSProxy.FinishStoryDialogLevel(InstanceZonesDataManager.currentLevelCfgId).Coroutine();
+            //}
+            //else
+            //{
+            //    OnFinishStoryLevel(InstanceZonesDataManager.currentLevelCfgId, false, false);
+            //}
         }
 
         public static void OnFinishStoryLevel(int levelCfgId, bool firstPass, bool success)

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

@@ -71,7 +71,7 @@ namespace GFGGame
             _ui = UI_StoryChapterUI.Create();
             viewCom = _ui.target;
             isfullScreen = true;
-            //isReturnView = false;
+            isReturnView = true;
         }
 
         protected override void OnInit()

+ 8 - 8
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryController.cs

@@ -51,13 +51,13 @@ namespace GFGGame
                 }
                 else
                 {
-                    ViewManager.Show<StoryChapterView>(MainStoryDataManager.currentChapterCfgId, ViewManager.GetGoBackDatas(typeof(StoryChapterView).FullName), true);
+                    ViewManager.Show<StoryChapterView>(MainStoryDataManager.currentChapterCfgId, ViewManager.GetGoBackDatas(typeof(StoryChapterView).FullName));
                 }
             }
             else
             {
                 //异常返回到关卡列表界面
-                ViewManager.Show<StoryChapterView>(MainStoryDataManager.currentChapterCfgId, ViewManager.GetGoBackDatas(typeof(StoryChapterView).FullName), true);
+                ViewManager.Show<StoryChapterView>(MainStoryDataManager.currentChapterCfgId, ViewManager.GetGoBackDatas(typeof(StoryChapterView).FullName));
             }
         }
 
@@ -69,9 +69,9 @@ namespace GFGGame
         }
         private static void OnCompleteCardStoryDialog(bool isSkip, object param)
         {
-            CardData cardData = param as CardData;
-            ViewManager.Show<CardFosterView>(cardData, new object[] { typeof(CardDetailView).FullName}, true);
-            ViewManager.Show<CardStoryView>(cardData);
+            //CardData cardData = param as CardData;
+            //ViewManager.Show<CardFosterView>(cardData, new object[] { typeof(CardDetailView).FullName}, true);
+            //ViewManager.Show<CardStoryView>(cardData);
         }
 
 
@@ -85,7 +85,7 @@ namespace GFGGame
 
         private static void OnCompletePriorStoryDialog(bool isSkip, object param)
         {
-            ViewManager.Show<StoryChapterView>(MainStoryDataManager.currentChapterCfgId, ViewManager.GetGoBackDatas(typeof(StoryChapterView).FullName), true);
+            //ViewManager.Show<StoryChapterView>(MainStoryDataManager.currentChapterCfgId, ViewManager.GetGoBackDatas(typeof(StoryChapterView).FullName), true);
         }
 
 
@@ -100,9 +100,9 @@ namespace GFGGame
 
         private static void OnCompleteFilingStoryDialog(bool isSkip, object param)
         {
-            InstanceZonesController.OnCompleteChapterStoryDialog(isSkip, param);
+            //InstanceZonesController.OnCompleteChapterStoryDialog(isSkip, param);
 
-            ViewManager.Show<StudioFilingView>(MainStoryDataManager.currentChapterCfgId, null, true);
+            //ViewManager.Show<StudioFilingView>(MainStoryDataManager.currentChapterCfgId, null, true);
             //, ViewManager.GetGoBackDatas(typeof(StudioFilingView).FullName)
         }
     }

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

@@ -88,7 +88,6 @@ namespace GFGGame
             _ui = UI_StoryDialogUI.Create();
             viewCom = _ui.target;
             isfullScreen = true;
-
             isReturnView = true;
             _ui.m_dialogText.target.visible = false;
             _ui.m_dialogName.target.visible = false;
@@ -886,6 +885,7 @@ namespace GFGGame
             {
                 _onCompleteStoryDialogCall(isSkip, _onCompleteStoryDialogCallParam);
             }
+            this.Hide();
         }
 
         private void UpdateSpeedUpBtn()

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

@@ -56,8 +56,8 @@ namespace GFGGame
             _ui.m_roleName.m_txtName.text = RoleDataManager.roleName;
             Timers.inst.Add(0.9f, 1, (object param) =>
             {
-                this.Hide();
                 ViewManager.Show<StoryFightSingleScoreView>();
+                this.Hide();
             });
         }
 

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

@@ -122,8 +122,8 @@ namespace GFGGame
 
             Timers.inst.Add(1.1f, 1, (object param) =>
             {
-                this.Hide();
                 ViewManager.Show<StoryFightTargetScoreView>(new object[] { roleFightData, targetFightData });
+                this.Hide();
             });
         }
 

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

@@ -93,7 +93,7 @@ namespace GFGGame
                 DressUpFightType dressUpFightType = new DressUpFightType();
                 dressUpFightType.levelID = _levelID;
                 dressUpFightType.teaPartID = 0;
-                ViewManager.Show<DressUpFightView>(dressUpFightType, null, true);
+                ViewManager.Show<DressUpFightView>(dressUpFightType, null);
                 this.Hide();
             }
             else

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

@@ -142,78 +142,27 @@ namespace GFGGame
             _ui.m_comResult.m_t0.Play(AddExp);
         }
 
-        protected override async void OnHide()
+        protected override void OnHide()
         {
             base.OnHide();
+
             if (_sceneObject != null)
             {
                 PrefabManager.Instance.Restore(_sceneObject);
                 _sceneObject = null;
             }
-            InstanceZonesDataManager.isResultFighting = false;
             MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
             _ui.m_comResult.m_t1.Play();
             _ui.m_comExpBar.m_proExp.m_comHolder.target.width = 0;
 
-
+            InstanceZonesDataManager.isResultFighting = false;
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Field)
             {
+                InstanceZonesDataManager.isFightResultHide = true;
+                InstanceZonesDataManager.resultData = this._resultData;
+                //ViewManager.DeleteViewStackCountDown(1);
+                //ViewManager.Show<FieldView>();
                 Timers.inst.Remove(OnClickBtnClose);
-
-                FieldCfg fieldCfg = FieldCfgArray.Instance.GetCfg(FieldDataManager.Instance.chapterId);
-                int needPower = 0;
-                for (int i = 0; i < FieldDataManager.Instance.currFightLv + 1; i++)
-                {
-                    needPower += fieldCfg.needPower;
-                }
-                if (!this._resultData.Result || FieldDataManager.Instance.currFightLv == fieldCfg.num || RoleDataManager.power < needPower)
-                {
-                    ViewManager.Show<FieldView>();
-                    bool result = await FieldSProxy.ReqFieldInstanceResult();
-                    if (result)
-                    {
-                        ViewManager.Show<FieldFightEndView>();
-                    }
-                }
-                else
-                {
-                    ViewManager.Show<FieldView>();
-                    FieldDataManager _dataManager = FieldDataManager.Instance;
-                    _dataManager.accumulateReward += (FieldDataManager.Instance.difficulty + 1) * 5;
-                    //这里判断如果获取的马蹄金超过上限了,就终止挑战
-                    if (_dataManager.fieldInfos.bonusWeekly + _dataManager.accumulateReward >= _dataManager.fieldInfos.bonusMaxLimit)
-                    {
-                        AlertUI.Show("本周可获得奖励已达上限,是否继续挑战?")
-                        .SetLeftButton(true, "取消",async (object data) =>
-                        {
-                            _dataManager.accumulateReward = 0;
-                            ViewManager.Show<FieldView>();
-                            bool result = await FieldSProxy.ReqFieldInstanceResult();
-                            if (result)
-                            {
-                                ViewManager.Show<FieldFightEndView>();
-                            }
-                        })
-                        .SetRightButton(true, "确认", async (object data) =>
-                        {
-                            bool result = await FieldSProxy.ReqFieldInstanceResult();
-                            _dataManager.accumulateReward = 0;
-                            ViewManager.Hide<FieldView>();
-                            FieldCfg _curCfg = FieldCfgArray.Instance.dataArray[FieldDataManager.Instance.difficulty]; 
-                            LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.TIAN_YE_DIAO_CHA, 2);
-                            int curLevelId = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(_curCfg.type, 0, _curCfg.id)[0].id;
-                            DressUpFightType dressUpFightType = new DressUpFightType();
-                            dressUpFightType.levelID = curLevelId;
-                            dressUpFightType.teaPartID = 0;
-                            ViewManager.Show<DressUpFightView>(dressUpFightType, new object[] { typeof(FieldView).FullName, this.viewData }, true);
-                            InstanceZonesDataManager.currentLevelCfgId = curLevelId;
-                        });
-                    }
-                    else
-                    { 
-                        ViewManager.Show<FieldFightInfoView>();
-                    }
-                }
             }
             else
             {

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Store/BrocadeWeavTask.cs

@@ -178,7 +178,7 @@ namespace GFGGame
             {
                 param[i] = taskCfg.jumpParamArr[i];
             }
-            ViewManager.JumpToView(taskCfg.jumpId, param, new[] { typeof(StoreView).FullName, viewData });
+            ViewManager.JumpToView(taskCfg.jumpId, param, new[] { typeof(StoreView).FullName, viewData },true);
         }
 
         private async void OnBtnGetAllClick()

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Studio/StudioFilingView.cs

@@ -37,7 +37,7 @@ namespace GFGGame
             _ui = UI_StudioFilingUI.Create();
             this.viewCom = _ui.target;
             isfullScreen = true;
-            isReturnView = false;
+            isReturnView = true;
             _valueBarController = new ValueBarController(_ui.m_comValueBar);
 
             _ui.m_Bg.url = ResPathUtil.GetBgImgPath("bg_fhl");

+ 38 - 14
GameClient/Assets/Game/HotUpdate/Views/ViewManager.cs

@@ -30,8 +30,14 @@ namespace GFGGame
         private static GComponent _alertLayer;
         private static GComponent _debugLayer;
         private static GComponent _floatLayer;
+        private static bool _nowHideOthers = false;
 
         private static Dictionary<string, List<object[]>> _goBackDatas = new Dictionary<string, List<object[]>>();
+       
+        public static void Clear()
+        {
+            _viewStack.Clear();
+        }
 
         public static void Init()
         {
@@ -123,11 +129,6 @@ namespace GFGGame
             }
             if (hideOthers)
             {
-                for (int i = _viewStack.Count - 1; i >= 0; i--)
-                {
-                    if (_viewStack[i].name != "MainUIView")
-                        _viewStack.RemoveAt(i);
-                }
                 HideAllView(name);
             }
             IUIView obj = null;
@@ -171,14 +172,21 @@ namespace GFGGame
                 viewStructure.viewData = viewData;
                 viewStructure.iUIView = obj;
                 _viewStack.Add(viewStructure);
-
-                if (_viewStack.Count > 1)
+                if (_viewStack.Count > 1 && !hideOthers)
                     _viewStack[_viewStack.Count - 2].iUIView.Hide();
             }
 
             return true;
         }
 
+        //删除队列中的倒数几个
+        public static void DeleteViewStackCountDown(int count)
+        {
+            for (int i = 0; i < count; i++) {
+                _viewStack.RemoveAt(_viewStack.Count-1);
+            }
+        }
+
         public static bool isViewOpen(string fullViewName)
         {
             string name = GetName(fullViewName);
@@ -206,16 +214,30 @@ namespace GFGGame
 
         public static void HideWin(string viewName)
         {
-            if (_viewStack.Count > 1) {
+            if (_viewStack.Count > 1 && !_nowHideOthers) {
                 ViewStructure viewStructure = _viewStack[_viewStack.Count - 1];
-                if (viewStructure.iUIView.isReturnView && viewStructure.name == viewName)
+                bool hasShowingView = false;
+                foreach (var info in _viewDic.Keys)
+                {
+                    IUIView objIsShowing = _viewDic[info];
+                    if (objIsShowing != null && objIsShowing.isShowing)
+                    {
+                        hasShowingView = true;
+                        break;
+                    }
+                }
+                if (!hasShowingView || (viewStructure.iUIView.isReturnView && viewStructure.name == viewName))
                 {
-                    _viewStack.RemoveAt(_viewStack.Count - 1);
+                    for (int i = 0; i < _viewStack.Count; i++) {
+                        ET.Log.Debug("打印测试=====关闭界面========" + _viewStack[i].name);
+                    }
+                    if(viewStructure.iUIView.isReturnView && viewStructure.name == viewName)
+                        _viewStack.RemoveAt(_viewStack.Count - 1);
+
                     if (_viewStack.Count >= 1)
                     {
                         viewStructure = _viewStack[_viewStack.Count - 1];
                         ViewManager.Show($"GFGGame.{viewStructure.name}", viewStructure.viewData);
-
                         foreach (var objName in _viewDic.Keys)
                         {
                             if (objName != viewStructure.name)
@@ -313,9 +335,11 @@ namespace GFGGame
                 if (kv.Key != excludeViewName)
                 {
                     if (kv.Key == typeof(FunctionOpenView).Name) continue;//功能开启界面不能强制关闭
+                    _nowHideOthers = true;
                     Hide(kv.Key);
                 }
             }
+            _nowHideOthers = false;
             // _viewDic.Clear();
             // foreach (string viewName in _viewDic.Keys)
             // {
@@ -440,13 +464,13 @@ namespace GFGGame
                     ViewManager.Show<FirstChargeBonusView>(param, goBackDatas, false);
                     break;
                 case nameof(ClothingSyntheticView):
-                    ViewManager.Show<ClothingSyntheticView>(param, goBackDatas, false);
+                    ViewManager.Show<ClothingSyntheticView>(param, goBackDatas, hideOther);
                     break;
                 case nameof(LuckyBoxView):
                     if(param.Length > 0)
-                        ViewManager.Show<LuckyBoxView>(param[0], goBackDatas, false);
+                        ViewManager.Show<LuckyBoxView>(param[0], goBackDatas, hideOther);
                     else
-                        ViewManager.Show<LuckyBoxView>(null, goBackDatas, false);
+                        ViewManager.Show<LuckyBoxView>(null, goBackDatas, hideOther);
                     break;
                 default:
                     ViewManager.Show($"GFGGame.{jumpId}", null, goBackDatas, hideOther, true);