using FairyGUI; using UI.DressUp; using UI.Main; using System.Collections.Generic; using UnityEngine; namespace GFGGame { public class GuideController { /*******************************************************单人战斗引导***********************************************/ public static void TryGuideChapterViewLevelItem(GObject target, string guideStr = null) { if (GuideDataManager.GetGuideCount(ConstGuideId.SINGLE_FIGHT_GUIDE) <= 0) { if (guideStr == null) { UI_CompStoryLevelItem levelItem = UI_CompStoryLevelItem.Proxy(target); if (levelItem != null) { int level = int.Parse(levelItem.target.name.Replace("g", "")); string levelID = StoryDataManager.currentChapter + "_" + level; StoryLevelCfg storyLevelCfg = StoryLevelCfgArray.Instance.GetCfg(levelID); if (storyLevelCfg.fightID != null && storyLevelCfg.fightID.Length > 0) { guideStr = "点击关卡图标,继续挑战"; } else { guideStr = "点击关卡图标,继续故事"; } } else { guideStr = "点击,继续"; } } GuideDataManager.currentGuideId = ConstGuideId.SINGLE_FIGHT_GUIDE; ShowGuide(target, true, guideStr); } } public static void TryGuideChapterInfoViewBtnStart(GObject target, string guideStr = null) { if (GuideDataManager.GetGuideCount(ConstGuideId.SINGLE_FIGHT_GUIDE) <= 0) { if (guideStr == null) { guideStr = "点击,继续"; } ShowGuide(target, true, guideStr); } } public static bool TryGuideDressUpFightViewMenuType0(GList list) { if (StoryDataManager.currentChapter == 1 && StoryDataManager.currentLevel <= 2 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel)) { int len = list.numChildren; for (int i = 0; i < len; i++) { UI_TypeItem item = UI_TypeItem.Proxy(list.GetChildAt(i)); if (item != null) { int menuID = (int)item.target.data; DressUpMenuItemCfg1 dressUpMenuItemCfg1 = DressUpMenuItemCfg1Array.Instance.GetCfg(menuID); if (dressUpMenuItemCfg1.type == ConstDressUpItemType.LIAN_YI_QUN) { ShowGuide(item.target, true, "点击分类图标,可查看对应类型的服装"); return true; } } } } return false; } public static void TryGuideDressUpFightViewMenuPart0(GList list, string guideStr) { if (StoryDataManager.currentChapter == 1 && StoryDataManager.currentLevel <= 2 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel)) { if (list.numChildren > 0) { UI_PartsListItem listItem = UI_PartsListItem.Proxy(list.GetChildAt(0)); if (listItem != null) { ShowGuide(listItem.target, true, guideStr); return; } } } } public static void TryGuideDressUpFightViewBtnNext0(GObject target) { if (GuideDataManager.GetGuideCount(ConstGuideId.SINGLE_FIGHT_GUIDE) <= 0) { ShowGuide(target, false, "换好衣服后,点击下一步进行战斗"); } } public static void TryGuideSingleScoreViewComClickCircle(GObject target) { ShowGuide(target, false, "点击圆圈进行部件评分,精准率越高,部件额外加分越高哦"); } /*******************************************************引导购买必需品***********************************************/ public static void TryGuideDressUpFightViewBtnRecommend(GObject target, GList list) { _list = list; Debug.Log(StoryDataManager.currentLevel); if (GuideDataManager.GetGuideCount(ConstGuideId.CLOTHING_SHOP_VIEW_BTN_BUY) <= 0 && StoryDataManager.currentLevel == 4 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel) && DressUpMenuItemDataManager.GetRecommendCount() >= 2) { GuideDataManager.currentGuideId = ConstGuideId.CLOTHING_SHOP_VIEW_BTN_BUY; ShowGuide(target, false, "想要通过此关要穿戴提示的必需品哦,点击必需品提示看看"); } } public static void TryGuideApproachOfItemViewList(GList list) { if (GuideDataManager.GetGuideCount(ConstGuideId.CLOTHING_SHOP_VIEW_BTN_BUY) <= 0 && StoryDataManager.currentLevel == 4 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel) && DressUpMenuItemDataManager.GetRecommendCount() >= 2) { UI_PartsListItem listItem = UI_PartsListItem.Proxy(list.GetChildAt(0)); if (listItem != null) { ShowGuide(listItem.target, false, "这里是物品产出的所有来源,点击服装店"); } } } public static void TryGuideClothingShopViewBtnBug(GObject target) { if (GuideDataManager.GetGuideCount(ConstGuideId.CLOTHING_SHOP_VIEW_BTN_BUY) <= 0 && StoryDataManager.currentLevel == 4 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel) && DressUpMenuItemDataManager.GetRecommendCount() >= 2) { ShowGuide(target, false, "已经选中需要的衣服,点击购买"); } } public static void TryGuideBuyCountViewBtnSure(GObject target) { if (GuideDataManager.GetGuideCount(ConstGuideId.CLOTHING_SHOP_VIEW_BTN_BUY) <= 0 && StoryDataManager.currentLevel == 4 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel)) { ShowGuide(target, false, "点击购买"); } } public static void TryGuideClothingShopViewBtnBack(GObject target) { if (GuideDataManager.GetGuideCount(ConstGuideId.CLOTHING_SHOP_VIEW_BTN_BUY) <= 0 && StoryDataManager.currentLevel == 4 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel)) { ShowGuide(target, false, "点击返回,继续搭配衣服"); } } private static GList _list; public static bool TryGuideDressUpFightViewMenuType1() { if (GuideDataManager.GetGuideCount(ConstGuideId.CLOTHING_SHOP_VIEW_BTN_BUY) <= 0 && StoryDataManager.currentLevel == 4 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel)) { int len = _list.numChildren; for (int i = 0; i < len; i++) { UI_TypeItem item = UI_TypeItem.Proxy(_list.GetChildAt(i)); if (item != null) { int menuID = (int)item.target.data; DressUpMenuItemCfg1 dressUpMenuItemCfg1 = DressUpMenuItemCfg1Array.Instance.GetCfg(menuID); if (dressUpMenuItemCfg1.type == ConstDressUpItemType.LIAN_YI_QUN) { ShowGuide(item.target, true, "点击必需品图标"); _list = null; return true; } } } } return false; } public static void TryGuideDressUpFightViewMenuPart1(GList list, string guideStr) { if (StoryDataManager.currentChapter == 1 && StoryDataManager.currentLevel == 4 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel)) { if (list.numChildren > 0) { UI_PartsListItem listItem = UI_PartsListItem.Proxy(list.GetChildAt(0)); if (listItem != null) { ShowGuide(listItem.target, true, guideStr); return; } } } } /***************************************************点击查看关卡提示***************************************************/ public static void TryGuideDressUpFightViewBtnHint(GObject target) { if (GuideDataManager.GetGuideCount(ConstGuideId.SEE_DRESS_TIPS) <= 0 && StoryDataManager.currentLevel == 6 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel)) { GuideDataManager.currentGuideId = ConstGuideId.SEE_DRESS_TIPS; ShowGuide(target, false, "点击查看过关提示"); } } /******************************************************双人对战评分************************************************/ public static void TryGuideStoryFightTargetScoreComCircle(GObject target, float devWidth, float devHeight) { if (GuideDataManager.GetGuideCount(ConstGuideId.TARGET_FIGHT_GUIDE) <= 0 && StoryDataManager.currentLevel == 6 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel)) { GuideDataManager.currentGuideId = ConstGuideId.TARGET_FIGHT_GUIDE; ShowGuide(target, false, "双人对战部件评分会显示在这里", 0, devWidth, devHeight); } } public static void TryGuideStoryFightTargetScorebtnSkill0(GObject target) { if (GuideDataManager.GetGuideCount(ConstGuideId.TARGET_FIGHT_GUIDE) <= 0 && StoryDataManager.currentLevel == 6 && !StoryDataManager.CheckLevelPass(StoryDataManager.currentChapter, StoryDataManager.currentLevel)) { ShowGuide(target, false, "点击使用技能"); } } /******************************************************************************************************/ public static bool TryGuideDressUpViewMenuType1(GList list) { if (GuideDataManager.currentGuideId == ConstGuideId.MAIN_UI_BTN_HUAN_ZHUANG) { int len = list.numChildren; list.ScrollToView(len - 1); for (int i = 0; i < len; i++) { UI_TypeItem item = UI_TypeItem.Proxy(list.GetChildAt(i)); if (item != null) { int menuID = (int)item.target.data; DressUpMenuItemCfg1 dressUpMenuItemCfg1 = DressUpMenuItemCfg1Array.Instance.GetCfg(menuID); if (dressUpMenuItemCfg1.type == ConstDressUpItemType.TAO_ZHUANG) { ShowGuide(item.target, true, "点击套装分类,可查看收集的套装"); return true; } } } } return false; } public static void TryGuideDressUpViewMenuPart(GList list) { if (GuideDataManager.currentGuideId == ConstGuideId.MAIN_UI_BTN_HUAN_ZHUANG) { if (list.numChildren > 0) { UI_PartsListItem listItem = UI_PartsListItem.Proxy(list.GetChildAt(0)); if (listItem != null) { ShowGuide(listItem.target, true, "点击图标,可换上整套衣服"); return; } } } } /*******************************************************************************************************************/ public static bool TryGuideByGuideId(GObject target, int guideId, int maxCount = 1, bool needUpdate = false, string guideStr = null, int yTxt = 0, int preGuideIdAtThisLogin = 0) { if (preGuideIdAtThisLogin > 0 && !GuideDataManager.CheckGuideIsCompletedAtThisLogin(preGuideIdAtThisLogin)) { return false; } if (GuideDataManager.GetGuideCount(guideId) < maxCount) { GuideDataManager.currentGuideId = guideId; ShowGuide(target, needUpdate, guideStr, yTxt); return true; } return false; } public static bool TryCompleteGuide(int guideId) { bool result = GuideDataManager.TryCompleteGuide(guideId); if (result) { HideGuide(); } return result; } public static void HideGuide() { 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) { HideGuide(); if (GameGlobal.skipGuide) { return; } ViewManager.Show(ViewName.GUIDE_VIEW, new List { target, needUpdate, guideStr, yTxt, devWidth, devHeight }); } } }