zhaoyang 3 лет назад
Родитель
Сommit
b5e3df5e50

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstGuideId.cs

@@ -11,6 +11,8 @@ namespace GFGGame
         public const int MAIN_UI_BTN_HUAN_ZHUANG = 2;//引导换装
         public const int SUIT_SYNTHETIC_GUIDE = 14;//引导套装合成
         public const int USE_CARD_FIGHT = 15;//引导使用卡牌战斗
+        public const int TIPS_TAGS_FIGHT = 16;//提示标签
+        public const int CARD_UP_STAR = 17;//词牌升星
 
         public const int MAIN_UI_BTN_STORY = 5;
         public const int CHAPTER_RESULT_VIEW = 6;

+ 91 - 7
GameClient/Assets/Game/HotUpdate/Controller/GuideController.cs

@@ -231,7 +231,7 @@ namespace GFGGame
                 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel))
             {
                 GuideDataManager.currentGuideId = ConstGuideId.TARGET_FIGHT_GUIDE;
-                ShowGuide(target, false, "双人对战部件评分会显示在这里", 0, devWidth, devHeight);
+                ShowGuide(target, false, "双人对战部件评分会显示在这里", 0, false, devWidth, devHeight);
             }
         }
         public static void TryGuideStoryFightTargetScorebtnSkill0(GObject target)
@@ -337,7 +337,7 @@ namespace GFGGame
                 && StoryDataManager.currentChapter == 2 && StoryDataManager.currentLevel <= 2)
             {
                 GuideDataManager.currentGuideId = ConstGuideId.SUIT_SYNTHETIC_GUIDE;
-                ShowGuide(target, false, "还没有通关必须穿戴的衣服,快去合成一件吧!", 0);
+                ShowGuide(target, false, "还没有通关必须穿戴的衣服,快去合成一件吧!", 0, true);
             }
         }
         public static void TryGuideStoryLevelInfoView(GObject target)
@@ -345,7 +345,8 @@ namespace GFGGame
 
             if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
                 && StoryDataManager.CheckLevelPass(2, 1)
-                && !StoryDataManager.CheckLevelPass(2, 2))
+                && !StoryDataManager.CheckLevelPass(2, 2)
+                && GuideDataManager.currentGuideId == ConstGuideId.SUIT_SYNTHETIC_GUIDE)
             {
                 ShowGuide(target, false, "点击空白处关闭", 1400);
             }
@@ -360,7 +361,7 @@ namespace GFGGame
                 ShowGuide(target, false, "点击返回主界面", 0);
             }
         }
-        public static void TryGuideMainUIViewBtnXiuFang(GObject target)
+        public static bool TryGuideMainUIViewBtnXiuFang(GObject target)
         {
 
             if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
@@ -371,7 +372,10 @@ namespace GFGGame
             {
                 GuideDataManager.currentGuideId = ConstGuideId.SUIT_SYNTHETIC_GUIDE;
                 ShowGuide(target, false, "点击进入绣坊", 0);
+                return true;
             }
+            return false;
+
         }
         public static void TryGuideSuitSyntheticView(GObject target)
         {
@@ -413,7 +417,7 @@ namespace GFGGame
                     UI_MateriasListItem listItem = UI_MateriasListItem.Proxy(list.GetChildAt(0));
                     if (listItem != null)
                     {
-                        ShowGuide(listItem.m_loaderIcon, true, "点击查看制作材料");
+                        ShowGuide(listItem.m_loaderIcon, true, "点击查看制作材料", 0, false);
                         return;
                     }
 
@@ -466,6 +470,85 @@ namespace GFGGame
                 ShowGuide(target, true, "点击确定进行战斗");
             }
         }
+        /*****************************************************************提示标签**************************************************/
+        public static void TryGuideStoryLevelInfoListTag(GObject target)
+        {
+
+            if (GuideDataManager.GetGuideCount(ConstGuideId.TIPS_TAGS_FIGHT) <= 0
+                && StoryDataManager.CheckLevelPass(2, 7)
+                && !StoryDataManager.CheckLevelPass(2, 8))
+            {
+                GuideDataManager.currentGuideId = ConstGuideId.TIPS_TAGS_FIGHT;
+                ShowGuide(target, true, "穿戴符合提示的标签,在战斗中可以获取更多分数", 0, true);
+            }
+        }
+        /***********************************************************词牌升星********************************************************/
+        public static void TryGuideStoryLevelInfoBtnHome(GObject target)
+        {
+
+            if (GuideDataManager.GetGuideCount(ConstGuideId.CARD_UP_STAR) <= 0
+                && StoryDataManager.CheckLevelPass(2, 14)
+                && !StoryDataManager.CheckLevelPass(2, 15))
+            {
+                GuideDataManager.currentGuideId = ConstGuideId.CARD_UP_STAR;
+                ShowGuide(target, true, "已经攒够升星材料了,快去词牌升星看看吧", 0, true);
+            }
+        }
+        public static void TryGuideMainUIViewBtnCiPai(GObject target)
+        {
+
+            if (GuideDataManager.GetGuideCount(ConstGuideId.CARD_UP_STAR) <= 0
+               && StoryDataManager.CheckLevelPass(2, 14)
+                && !StoryDataManager.CheckLevelPass(2, 15))
+            // && GuideDataManager.currentGuideId == ConstGuideId.CARD_UP_STAR)
+            {
+                // GuideDataManager.currentGuideId = ConstGuideId.CARD_UP_STAR;
+                ShowGuide(target, true, "点击词牌", 0);
+            }
+        }
+        public static void TryGuideCardViewBtnDetail(GObject target)
+        {
+
+            if (GuideDataManager.GetGuideCount(ConstGuideId.CARD_UP_STAR) <= 0
+                 && StoryDataManager.CheckLevelPass(2, 14)
+                && !StoryDataManager.CheckLevelPass(2, 15))
+            {
+
+                ShowGuide(target, true, "点击词牌列表", 0, false, -236, -181);
+            }
+        }
+        public static void TryGuideCardDetailViewList(GList list)
+        {
+
+            if (GuideDataManager.GetGuideCount(ConstGuideId.CARD_UP_STAR) <= 0
+                  && StoryDataManager.CheckLevelPass(2, 14)
+                && !StoryDataManager.CheckLevelPass(2, 15))
+            {
+                if (list.numChildren > 0)
+                {
+                    UI.Card.UI_ListCardItem listItem = UI.Card.UI_ListCardItem.Proxy(list.GetChildAt(0));
+                    if (listItem != null)
+                    {
+                        GuideDataManager.currentGuideId = ConstGuideId.USE_CARD_FIGHT;
+                        ShowGuide(listItem.target, true, "选择要升星的卡牌", 0);
+                        return;
+                    }
+
+                }
+
+            }
+        }
+        public static void TryGuideCardFosterViewBtnStar(GObject target)
+        {
+
+            if (GuideDataManager.GetGuideCount(ConstGuideId.CARD_UP_STAR) <= 0
+                && StoryDataManager.CheckLevelPass(2, 14)
+                && !StoryDataManager.CheckLevelPass(2, 15))
+            {
+
+                ShowGuide(target, true, "点击升星", 0);
+            }
+        }
         /*******************************************************************************************************************/
         public static bool TryGuideByGuideId(GObject target, int guideId, int maxCount = 1, bool needUpdate = false, string guideStr = null, int yTxt = 0, int preGuideIdAtThisLogin = 0)
         {
@@ -497,14 +580,15 @@ namespace GFGGame
             ViewManager.Hide(ViewName.GUIDE_VIEW);
         }
 
-        private static void ShowGuide(GObject target, bool needUpdate = false, string guideStr = null, int yTxt = 0, float devWidth = 0, float devHeight = 0)
+        private static void ShowGuide(GObject target, bool needUpdate = false, string guideStr = null, int yTxt = 0, bool isOptionalGuide = false, float devWidth = 0, float devHeight = 0)
         {
             HideGuide();
             if (GameGlobal.skipGuide)
             {
                 return;
             }
-            ViewManager.Show(ViewName.GUIDE_VIEW, new List<object> { target, needUpdate, guideStr, yTxt, devWidth, devHeight });
+            ViewManager.Show(ViewName.GUIDE_VIEW, new List<object> { target, needUpdate, guideStr, yTxt, isOptionalGuide, devWidth, devHeight
+});
         }
     }
 }

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs

@@ -54,6 +54,8 @@ namespace GFGGame
             _ui.m_listRole.selectedIndex = this._selectType;
             _ui.m_listRole.numItems = listRoleCount;
             this.UpdateCardList(_ui.m_listRole.selectedIndex);
+            GuideController.TryGuideCardDetailViewList(_ui.m_listCard);
+
         }
         private void UpdateCardList(int rarity = 0)
         {

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -104,6 +104,8 @@ namespace GFGGame
             this.UpdateUpLvView();
             _comFosterBottom.m_ctrlTab.selectedIndex = this._selectTab;
             EventAgent.AddEventListener(ConstMessage.MONEY_CHANGE, UpdateUpStarView);
+            GuideController.TryGuideCardFosterViewBtnStar(_ui.m_ComFosterBottom.m_btnStar);
+
         }
 
         private void UpdateNormal()
@@ -656,6 +658,8 @@ namespace GFGGame
             else if (_comFosterBottom.m_ctrlTab.selectedIndex == 1)
             {
                 this.UpdateUpStarView();
+                GuideController.HideGuide();
+                // GuideController.TryCompleteGuide(ConstGuideId.CARD_UP_STAR);
             }
             else
             {

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardView.cs

@@ -34,6 +34,8 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            GuideController.TryGuideCardViewBtnDetail(_ui.m_loaDetail);
+
         }
         /*******************************************************¼àÌýº¯Êý**************************************************/
         private void OnClickBtnBack()

+ 8 - 2
GameClient/Assets/Game/HotUpdate/Views/Guide/GuideView.cs

@@ -13,6 +13,7 @@ namespace GFGGame
         private GObject guideTarget = null;
         private float devWidth;
         private float devHeight;
+        private bool isOptionalGuide = false;//弱引导,点击任意地方都可关闭
         public override void Dispose()
         {
             base.Dispose();
@@ -31,6 +32,10 @@ namespace GFGGame
             _ui.m_rectFrame.target.AddRelation(_ui.m_mask.m_guideArea, RelationType.Height);
             _ui.m_rectFrame.target.AddRelation(_ui.m_mask.m_guideArea, RelationType.Left_Left);
             _ui.m_rectFrame.target.AddRelation(_ui.m_mask.m_guideArea, RelationType.Top_Top);
+            _ui.target.onClick.Add(() =>
+            {
+                if (isOptionalGuide) this.Hide();
+            });
         }
 
         protected override void OnShown()
@@ -41,8 +46,9 @@ namespace GFGGame
             _needUpdate = (bool)dataList[1];
             string txtContent = (string)dataList[2];
             int yTxt = (int)dataList[3];
-            devWidth = (float)dataList[4];
-            devHeight = (float)dataList[5];
+            isOptionalGuide = (bool)dataList[4];
+            devWidth = (float)dataList[5];
+            devHeight = (float)dataList[6];
             if (txtContent != null && txtContent.Length > 0)
             {
                 _ui.m_compTxt.m_txt.text = txtContent;

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

@@ -60,19 +60,13 @@ namespace GFGGame
             _ui.m_chapter.AddChild(_compChapter);
             InitChapter();
             _valueBarController.OnShown();
-            if (GuideDataManager.GetGuideCount(ConstGuideId.SINGLE_FIGHT_GUIDE) <= 0)
+            if (GuideDataManager.GetGuideCount(ConstGuideId.SINGLE_FIGHT_GUIDE) <= 0
+            || GuideDataManager.GetGuideCount(ConstGuideId.MAIN_UI_BTN_ZHAI_XING) <= 0
+            || GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
+            || GuideDataManager.GetGuideCount(ConstGuideId.CARD_UP_STAR) <= 0)
             {
                 Timers.inst.AddUpdate(UpdateToCheckGuide);
             }
-            else if (GuideDataManager.GetGuideCount(ConstGuideId.MAIN_UI_BTN_ZHAI_XING) <= 0)
-            {
-                Timers.inst.AddUpdate(UpdateToCheckGuide);
-            }
-            else if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0)
-            {
-                Timers.inst.AddUpdate(UpdateToCheckGuide);
-            }
-
         }
 
         protected override void OnHide()
@@ -253,6 +247,10 @@ namespace GFGGame
                     {
                         GuideController.TryGuideStoryChapterViewBtnHome(_ui.m_btnHome);
                     }
+                    else if (GuideDataManager.GetGuideCount(ConstGuideId.CARD_UP_STAR) <= 0)
+                    {
+                        GuideController.TryGuideStoryLevelInfoBtnHome(_ui.m_btnHome);
+                    }
                 }
             }
 

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs

@@ -243,6 +243,8 @@ namespace GFGGame
                 GameObject.Destroy(_sceneObject);
                 _sceneObject = null;
             }
+            EventAgent.RemoveEventListener(ConstMessage.CARD_SKILL, CircleScoreStart);
+
         }
 
         public override void Dispose()

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs

@@ -426,6 +426,8 @@ namespace GFGGame
                 _sceneObject = null;
             }
             _npcSkillDic.Clear();
+            EventAgent.RemoveEventListener(ConstMessage.CARD_SKILL, CircleScoreStart);
+
         }
 
         private void Skip(object param = null)

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

@@ -32,15 +32,10 @@ namespace GFGGame
             _ui.m_btnStart.onClick.Add(OnClickBtnStart);
             _ui.m_btnFightOnce.onClick.Add(OnClickBtnFightOnce);
             _ui.m_btnFightTimes.onClick.Add(OnClickBtnFightTimes);
-            _ui.m_btnBg.onClick.Add(() =>
-            {
-                GuideController.TryGuideStoryLevelInfoView(_ui.m_btnClose);
-            });
+
             _ui.m_btnClose.onClick.Add(() =>
             {
                 this.Hide();
-                // GuideController.TryGuideStoryLevelInfoView(_ui.m_btnClose);
-                GuideController.HideGuide();
             });
 
             _ui.m_listTag.itemRenderer = RenderListTagItem;
@@ -54,14 +49,19 @@ namespace GFGGame
             UpdateView();
             GuideController.TryGuideChapterInfoViewBtnStart(_ui.m_btnStart, "点击按钮,开始挑战");
             GuideController.TryGuideStoryLevelInfoViewTxtNeed(_ui.m_txtNeed);
+            GuideController.TryGuideStoryLevelInfoListTag(_ui.m_listTag);
 
             EventAgent.AddEventListener(ConstMessage.ROLE_POWER_CHANGED, UpdateBtnFightTimes);
+            Timers.inst.AddUpdate(UpdateToCheckGuide);
         }
 
         protected override void OnHide()
         {
             base.OnHide();
             EventAgent.RemoveEventListener(ConstMessage.ROLE_POWER_CHANGED, UpdateBtnFightTimes);
+            Timers.inst.Remove(UpdateToCheckGuide);
+            GuideController.HideGuide();
+            GuideController.TryCompleteGuide(ConstGuideId.TIPS_TAGS_FIGHT);
         }
 
         private void OnClickBtnStart()
@@ -241,5 +241,20 @@ namespace GFGGame
             item.m_loaTag.url = ResPathUtil.GetCommonGameResPath("fzd_bqbq_" + tag[0]);
             item.m_txtTag.text = tag[1];
         }
+
+        private void UpdateToCheckGuide(object param)
+        {
+            if (GRoot.inst.GetTopWindow() == this.viewCom)
+            {
+                GuideController.TryGuideStoryLevelInfoView(null);
+                Timers.inst.Remove(UpdateToCheckGuide);
+
+            }
+        }
+        // protected override void OnHide()
+        // {
+        //     base.OnHide();
+        //     GuideController.HideGuide();
+        // }
     }
 }

+ 7 - 1
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -298,7 +298,13 @@ namespace GFGGame
             {
                 if (!GuideController.TryGuideByGuideId(_ui.m_btnHuanZhuang.target, ConstGuideId.MAIN_UI_BTN_HUAN_ZHUANG, 1, false, "点击自由换装按钮,进入换装界面"))
                 {
-                    GuideController.TryGuideMainUIViewBtnXiuFang(_ui.m_btnXiuFang.target);
+                    if (!GuideController.TryGuideMainUIViewBtnXiuFang(_ui.m_btnXiuFang.target))
+                    {
+                        // if (GuideDataManager.GetGuideCount(ConstGuideId.CARD_UP_STAR) <= 0 && GuideDataManager.currentGuideId == ConstGuideId.CARD_UP_STAR)
+                        // {
+                        GuideController.TryGuideMainUIViewBtnCiPai(_ui.m_btnCiPai.target);
+                        // }
+                    }
                 }
             }
         }