Jelajahi Sumber

引导合成

zhaoyang 3 tahun lalu
induk
melakukan
860e329ba3

+ 3 - 1
FGUIProject/assets/Main/StoryLevelInfoUI.xml

@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1160" designImageOffsetX="-750">
-  <controller name="ctrlNeed" pages="0,,1,,2," selected="0"/>
+  <controller name="ctrlNeed" pages="0,,1,,2," selected="1"/>
   <displayList>
     <image id="n2_vxw5" name="n2" src="j48o94" fileName="images/zx_jq_dituditu.png" xy="0,-153"/>
+    <loader id="n44_yoe2" name="btnBg" xy="0,-153" size="1080,1414" url="ui://mfvz4q8kj48o94" autoSize="true"/>
     <component id="n0_vxw5" name="btnStart" src="t8o13i" fileName="componentsLevel/ButtonStart.xml" xy="766,864">
       <Button title="开始旅程"/>
     </component>
@@ -49,5 +50,6 @@
       <item/>
     </list>
     <loader id="n37_d4iw" name="scoreType" xy="581,272" size="50,50" url="ui://eg2y0ldp842s6h" fill="scale"/>
+    <loader id="n43_yoe2" name="btnClose" xy="3,1305" size="1073,176"/>
   </displayList>
 </component>

+ 59 - 17
GameClient/Assets/Game/HotUpdate/Controller/GuideController.cs

@@ -3,6 +3,7 @@ using UI.DressUp;
 using UI.Main;
 using System.Collections.Generic;
 using UnityEngine;
+using UI.ClothingSynthetic;
 
 namespace GFGGame
 {
@@ -331,29 +332,30 @@ namespace GFGGame
         {
 
             if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
-                && StoryDataManager.CheckLevelPass(1, 11)
-                && !StoryDataManager.CheckLevelPass(1, 12))
+                && StoryDataManager.CheckLevelPass(2, 1)
+                && !StoryDataManager.CheckLevelPass(2, 2)
+                && StoryDataManager.currentChapter == 2 && StoryDataManager.currentLevel <= 2)
             {
                 GuideDataManager.currentGuideId = ConstGuideId.SUIT_SYNTHETIC_GUIDE;
-                ShowGuide(target, false, "还没有通关必须合成的衣服,快去合成一件吧!", 0);
+                ShowGuide(target, false, "还没有通关必须穿戴的衣服,快去合成一件吧!", 0);
             }
         }
         public static void TryGuideStoryLevelInfoView(GObject target)
         {
 
             if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
-                && StoryDataManager.CheckLevelPass(1, 11)
-                && !StoryDataManager.CheckLevelPass(1, 12))
+                && StoryDataManager.CheckLevelPass(2, 1)
+                && !StoryDataManager.CheckLevelPass(2, 2))
             {
-                ShowGuide(target, false, "点击空白处关闭", 0);
+                ShowGuide(target, false, "点击空白处关闭", 1400);
             }
         }
         public static void TryGuideStoryChapterViewBtnHome(GObject target)
         {
 
             if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
-                && StoryDataManager.CheckLevelPass(1, 11)
-                && !StoryDataManager.CheckLevelPass(1, 12))
+                && StoryDataManager.CheckLevelPass(2, 1)
+                && !StoryDataManager.CheckLevelPass(2, 2))
             {
                 ShowGuide(target, false, "点击返回主界面", 0);
             }
@@ -362,8 +364,10 @@ namespace GFGGame
         {
 
             if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
-                && StoryDataManager.CheckLevelPass(1, 11)
-                && !StoryDataManager.CheckLevelPass(1, 12))
+                && StoryDataManager.CheckLevelPass(2, 1)
+                && !StoryDataManager.CheckLevelPass(2, 2)
+            // && GuideDataManager.currentGuideId == ConstGuideId.SUIT_SYNTHETIC_GUIDE
+            )
             {
                 GuideDataManager.currentGuideId = ConstGuideId.SUIT_SYNTHETIC_GUIDE;
                 ShowGuide(target, false, "点击进入绣坊", 0);
@@ -371,25 +375,63 @@ namespace GFGGame
         }
         public static void TryGuideSuitSyntheticView(GObject target)
         {
-
             if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
-                && StoryDataManager.CheckLevelPass(1, 11)
-                && !StoryDataManager.CheckLevelPass(1, 12))
+                && StoryDataManager.CheckLevelPass(2, 1)
+                && !StoryDataManager.CheckLevelPass(2, 2))
             {
                 ShowGuide(target, false, "点击进入套装合成", 0);
             }
         }
-        public static void TryGuideSuitSyntheticViewList(GList target)
+        public static void TryGuideSuitSyntheticViewList(GList list)
         {
 
             if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
-                && StoryDataManager.CheckLevelPass(1, 11)
-                && !StoryDataManager.CheckLevelPass(1, 12))
+                && StoryDataManager.CheckLevelPass(2, 1)
+                && !StoryDataManager.CheckLevelPass(2, 2))
             {
-                ShowGuide(target, false, "点击进入套装合成", 0);
+                if (list.numChildren > 0)
+                {
+                    UI_PartsListItem listItem = UI_PartsListItem.Proxy(list.GetChildAt(0));
+                    if (listItem != null)
+                    {
+                        ShowGuide(listItem.target, true, "点击套装");
+                        return;
+                    }
+
+                }
+            }
+        }
+        public static void TryGuideClothingSyntheticViewList(GList list)
+        {
+
+            if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
+                && StoryDataManager.CheckLevelPass(2, 1)
+                && !StoryDataManager.CheckLevelPass(2, 2))
+            {
+                if (list.numChildren > 0)
+                {
+                    UI_MateriasListItem listItem = UI_MateriasListItem.Proxy(list.GetChildAt(0));
+                    if (listItem != null)
+                    {
+                        ShowGuide(listItem.m_loaderIcon, true, "点击查看制作材料");
+                        return;
+                    }
+
+                }
             }
         }
+        public static void TryGuideClothingSyntheticViewBtnProduction(GObject target)
+        {
+
+            if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0
+                && StoryDataManager.CheckLevelPass(2, 1)
+                && !StoryDataManager.CheckLevelPass(2, 2))
+            {
+
+                ShowGuide(target, true, "点击进行制作");
 
+            }
+        }
 
         /*******************************************************************************************************************/
         public static bool TryGuideByGuideId(GObject target, int guideId, int maxCount = 1, bool needUpdate = false, string guideStr = null, int yTxt = 0, int preGuideIdAtThisLogin = 0)

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryLevelInfoUI.cs

@@ -8,6 +8,7 @@ namespace UI.Main
     {
         public GComponent target;
         public Controller m_ctrlNeed;
+        public GLoader m_btnBg;
         public GButton m_btnStart;
         public GTextField m_txtTitle;
         public GTextField m_txtHighestScore;
@@ -25,6 +26,7 @@ namespace UI.Main
         public UI_CompFlower1 m_flower;
         public GList m_listBonus;
         public GLoader m_scoreType;
+        public GLoader m_btnClose;
         public const string URL = "ui://mfvz4q8kvxw538";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "StoryLevelInfoUI";
@@ -73,6 +75,7 @@ namespace UI.Main
         private void Init(GComponent comp)
         {
             m_ctrlNeed = comp.GetController("ctrlNeed");
+            m_btnBg = (GLoader)comp.GetChild("btnBg");
             m_btnStart = (GButton)comp.GetChild("btnStart");
             m_txtTitle = (GTextField)comp.GetChild("txtTitle");
             m_txtHighestScore = (GTextField)comp.GetChild("txtHighestScore");
@@ -90,10 +93,12 @@ namespace UI.Main
             m_flower = (UI_CompFlower1)UI_CompFlower1.Create(comp.GetChild("flower"));
             m_listBonus = (GList)comp.GetChild("listBonus");
             m_scoreType = (GLoader)comp.GetChild("scoreType");
+            m_btnClose = (GLoader)comp.GetChild("btnClose");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_ctrlNeed = null;
+            m_btnBg = null;
             m_btnStart = null;
             m_txtTitle = null;
             m_txtHighestScore = null;
@@ -112,6 +117,7 @@ namespace UI.Main
             m_flower = null;
             m_listBonus = null;
             m_scoreType = null;
+            m_btnClose = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -28,9 +28,9 @@ namespace GFGGame
 
         private readonly int[] HEAD_Y_ARR = new int[] { ConstDressUpItemType.TOU_SHI, ConstDressUpItemType.ER_SHI, ConstDressUpItemType.JING_SHI, ConstDressUpItemType.ZHUANG_RONG };
         private readonly int[] FA_XING_Y_ARR = new int[] { ConstDressUpItemType.FA_XING };
-        private readonly int[] UPPER_BODY_Y_ARR = new int[] { ConstDressUpItemType.NEI_DA, ConstDressUpItemType.SHANG_YI};
-        private readonly int[] LOWER_BODY_Y_ARR = new int[] { ConstDressUpItemType.XIA_ZHUANG, ConstDressUpItemType.SHOU_SHI};
-        private readonly int[] SHOES_Y_ARR = new int[] { ConstDressUpItemType.WA_ZI, ConstDressUpItemType.XIE_ZI};
+        private readonly int[] UPPER_BODY_Y_ARR = new int[] { ConstDressUpItemType.NEI_DA, ConstDressUpItemType.SHANG_YI };
+        private readonly int[] LOWER_BODY_Y_ARR = new int[] { ConstDressUpItemType.XIA_ZHUANG, ConstDressUpItemType.SHOU_SHI };
+        private readonly int[] SHOES_Y_ARR = new int[] { ConstDressUpItemType.WA_ZI, ConstDressUpItemType.XIE_ZI };
 
         private UI_ClothingSyntheticUI _ui;
         private GameObject _scenePrefab;
@@ -47,7 +47,7 @@ namespace GFGGame
 
         public override void Dispose()
         {
-            if(_valueBarController != null)
+            if (_valueBarController != null)
             {
                 _valueBarController.Dispose();
                 _valueBarController = null;
@@ -104,6 +104,9 @@ namespace GFGGame
             _valueBarController.OnShown();
             UpdateClothingList(false);
             EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, OnItemNumChanged);
+
+            GuideController.TryGuideClothingSyntheticViewList(_ui.m_listMaterias);
+
         }
 
         protected override void OnHide()
@@ -134,7 +137,7 @@ namespace GFGGame
 
         private void OnClickBtnProcuction()
         {
-            if(ItemDataManager.GetItemNum(_selectedItemId) > 0)
+            if (ItemDataManager.GetItemNum(_selectedItemId) > 0)
             {
                 PromptController.Instance.ShowFloatTextPrompt("不能制作已经拥有的物品!");
                 return;
@@ -163,12 +166,15 @@ namespace GFGGame
             }
             ItemDataManager.Add(_selectedItemId, 1);
             GetSuitItemController.TryShow(_selectedItemId);
+
+            GuideController.HideGuide();
+            GuideController.TryCompleteGuide(ConstGuideId.SUIT_SYNTHETIC_GUIDE);
         }
 
         private void ListClothingItemRender(int index, GObject item)
         {
             UI_ClothingListItem listItem = UI_ClothingListItem.Proxy(item);
-           int itemId = _items[index];
+            int itemId = _items[index];
             listItem.target.data = itemId;
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
             listItem.m_loaderIcon.url = ResPathUtil.GetIconPath(itemCfg);
@@ -256,11 +262,11 @@ namespace GFGGame
                 if (_selectedItemId > 0)
                 {
                     int num = _ui.m_listClothing.numChildren;
-                    for(int i = 0; i < num; i++)
+                    for (int i = 0; i < num; i++)
                     {
                         listItem = UI_ClothingListItem.Proxy(_ui.m_listClothing.GetChildAt(i));
                         int temp = (int)listItem.target.data;
-                        if(temp == _selectedItemId)
+                        if (temp == _selectedItemId)
                         {
                             index = i;
                         }
@@ -299,10 +305,10 @@ namespace GFGGame
             _ui.m_txtCost.SetVar("v1", "" + clothingSyntheticCfg.costNum).SetVar("v2", costName).FlushVars();
             _materiarsOfSelectedItem = ItemUtil.CreateItemDataList(clothingSyntheticCfg.materiars);
             int count = _ui.m_listMaterias.numChildren;
-            for(int i = 0; i < count; i++)
+            for (int i = 0; i < count; i++)
             {
                 UI_MateriasListItem listItem = UI_MateriasListItem.Proxy(_ui.m_listMaterias.GetChildAt(i));
-                if(i < _materiarsOfSelectedItem.Count)
+                if (i < _materiarsOfSelectedItem.Count)
                 {
                     ItemData itemData = _materiarsOfSelectedItem[i];
                     ItemCfg materiasItemCfg = ItemCfgArray.Instance.GetCfg(itemData.id);
@@ -316,6 +322,14 @@ namespace GFGGame
                     listItem.m_groupCount.target.onClick.Clear();
                     listItem.m_groupCount.target.onClick.Add(OnClickMateriasItemPlus);
                     listItem.target.data = itemData;
+
+                    if (i == 0)
+                    {
+                        listItem.m_loaderIcon.onClick.Add(() =>
+                        {
+                            GuideController.TryGuideClothingSyntheticViewBtnProduction(_ui.m_btnProduction);
+                        });
+                    }
                 }
                 else
                 {

+ 15 - 11
GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/SuitSyntheticView.cs

@@ -39,6 +39,8 @@ namespace GFGGame
             UpdateSuitList();
 
             EventAgent.AddEventListener(ConstMessage.SUIT_BOX_STATUS_CHANGED, UpdateSuitBoxStatus);
+            GuideController.TryGuideSuitSyntheticViewList(_ui.m_listSuit);
+
         }
 
         protected override void OnHide()
@@ -59,7 +61,7 @@ namespace GFGGame
 
         private void UpdateSuitList()
         {
-            if(_suitListIds == null)
+            if (_suitListIds == null)
             {
                 _suitListIds = new List<int>();
             }
@@ -74,7 +76,7 @@ namespace GFGGame
                 string[] values = menuCfg.suitIds.Split(';');
                 foreach (string value in values)
                 {
-                    if(value.Length > 0)
+                    if (value.Length > 0)
                     {
                         int suitId = int.Parse(value);
                         if (suitId > 0)
@@ -103,22 +105,22 @@ namespace GFGGame
             bool haveSuit = DressUpMenuSuitDataManager.CheckHaveSuit(suitId);
             bool isLock = false;
             SuitSyntheticCfg suitSyntheticCfg = SuitSyntheticCfgArray.Instance.GetCfg(suitId);
-            if(suitSyntheticCfg.storyLevelId.Length > 0)
+            if (suitSyntheticCfg.storyLevelId.Length > 0)
             {
                 int chapter = 0;
                 int level = 0;
                 StoryUtil.GetStoryLevelId(suitSyntheticCfg.storyLevelId, out chapter, out level);
                 bool isLevelPass = StoryDataManager.CheckLevelPass(chapter, level);
-                if(!isLevelPass)
+                if (!isLevelPass)
                 {
                     isLock = true;
                     listItem.m_txtLockDesc.text = string.Format("通关第{0}章第{1}关", chapter, level);
                 }
             }
-            if(suitSyntheticCfg.preSuitId > 0)
+            if (suitSyntheticCfg.preSuitId > 0)
             {
                 bool hasPreSuit = DressUpMenuSuitDataManager.CheckHaveSuit(suitSyntheticCfg.preSuitId);
-                if(!hasPreSuit)
+                if (!hasPreSuit)
                 {
                     isLock = true;
                     string preSuitName = SuitUtil.GetSuitName(suitSyntheticCfg.preSuitId);
@@ -129,13 +131,15 @@ namespace GFGGame
             listItem.target.data = suitId;
             UpdateSuitBoxStatusView(listItem);
             listItem.m_loaderBonusBox.onClick.Clear();
-            listItem.m_loaderBonusBox.onClick.Add(() => {
+            listItem.m_loaderBonusBox.onClick.Add(() =>
+            {
                 SuitUtil.ShowSuitSyntheticBonus(suitId);
             });
             listItem.m_bg.onClick.Clear();
-            listItem.m_bg.onClick.Add(() => {
-                if(!isLock)
-                { 
+            listItem.m_bg.onClick.Add(() =>
+            {
+                if (!isLock)
+                {
                     ViewManager.Show(ViewName.CLOTHING_SYNTHETIC_VIEW, suitId, new object[] { ViewName.SUIT_SYNTHETIC_LIST_VIEW, this.viewData });
                 }
             });
@@ -169,7 +173,7 @@ namespace GFGGame
             else
             {
                 listItem.m_loaderBonusBox.grayed = true;
-                if(status == ConstBonusStatus.GOT)
+                if (status == ConstBonusStatus.GOT)
                 {
                     listItem.m_iconGot.visible = true;
                 }

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

@@ -66,9 +66,13 @@ namespace GFGGame
             }
             else if (GuideDataManager.GetGuideCount(ConstGuideId.MAIN_UI_BTN_ZHAI_XING) <= 0)
             {
-                // GuideController.TryGuideGoBackStoryChapter(_ui.m_btnHome);
                 Timers.inst.AddUpdate(UpdateToCheckGuide);
             }
+            else if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0)
+            {
+                Timers.inst.AddUpdate(UpdateToCheckGuide);
+            }
+
         }
 
         protected override void OnHide()
@@ -245,7 +249,10 @@ namespace GFGGame
                     {
                         GuideController.TryGuideGoBackStoryChapter(_ui.m_btnHome);
                     }
-
+                    else if (GuideDataManager.GetGuideCount(ConstGuideId.SUIT_SYNTHETIC_GUIDE) <= 0 && GuideDataManager.currentGuideId == ConstGuideId.SUIT_SYNTHETIC_GUIDE)
+                    {
+                        GuideController.TryGuideStoryChapterViewBtnHome(_ui.m_btnHome);
+                    }
                 }
             }
 

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

@@ -32,6 +32,16 @@ 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;
         }
@@ -43,6 +53,7 @@ namespace GFGGame
             _storyType = int.Parse(_levelID.Split('_')[0]) / 10000;
             UpdateView();
             GuideController.TryGuideChapterInfoViewBtnStart(_ui.m_btnStart, "点击按钮,开始挑战");
+            GuideController.TryGuideStoryLevelInfoViewTxtNeed(_ui.m_txtNeed);
 
             EventAgent.AddEventListener(ConstMessage.ROLE_POWER_CHANGED, UpdateBtnFightTimes);
         }

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

@@ -298,7 +298,7 @@ namespace GFGGame
             {
                 if (!GuideController.TryGuideByGuideId(_ui.m_btnHuanZhuang.target, ConstGuideId.MAIN_UI_BTN_HUAN_ZHUANG, 1, false, "点击自由换装按钮,进入换装界面"))
                 {
-                    // GuideController.TryGuideMainUIViewBtnXiuFang(_ui.m_btnXiuFang.target);
+                    GuideController.TryGuideMainUIViewBtnXiuFang(_ui.m_btnXiuFang.target);
                 }
             }
         }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/XiuFang/XiuFangView.cs

@@ -32,6 +32,7 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            GuideController.TryGuideSuitSyntheticView(_ui.m_btnSuitSynthetic);
         }
 
         protected override void OnHide()

TEMPAT SAMPAH
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes