zhaoyang 3 жил өмнө
parent
commit
affa121ae2

+ 6 - 5
FGUIProject/assets/ClothingFoster/components/comFosterAni.xml

@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="232,114">
+<component size="1080,1920">
   <displayList>
-    <image id="n35_nk8d" name="n35" src="py5ge" fileName="images/zhuxian_shuoto.png" xy="80,0"/>
-    <component id="n36_nk8d" name="proFoster" src="py5ga" fileName="images/ProgressBar1.xml" xy="0,108">
+    <image id="n35_nk8d" name="n35" src="py5ge" fileName="images/zhuxian_shuoto.png" xy="504,850" group="n39_s1ov"/>
+    <component id="n36_nk8d" name="proFoster" src="py5ga" fileName="images/ProgressBar1.xml" xy="424,958" group="n39_s1ov">
       <ProgressBar max="100"/>
     </component>
-    <text id="n37_bd1c" name="txtContent" xy="8,179" size="209,41" fontSize="30" text="服装浆洗中......"/>
-    <graph id="n38_lh8v" name="holder" xy="115,56" size="1,1" type="rect"/>
+    <text id="n37_bd1c" name="txtContent" xy="435,1029" size="209,41" group="n39_s1ov" fontSize="30" text="服装浆洗中......"/>
+    <graph id="n38_lh8v" name="holder" xy="539,906" size="1,1" group="n39_s1ov" type="rect"/>
+    <group id="n39_s1ov" name="n39" xy="424,850" size="232,220"/>
   </displayList>
 </component>

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

@@ -24,5 +24,6 @@ namespace GFGGame
         public const string GET_SUIT_ITEM_FULL = "GET_SUIT_ITEM_FULL";
         public const string GET_BONUS_FIRST = "GET_BONUS_FIRST";
         public const string STUDIO_OPEN = "STUDIO_OPEN";
+        public const string SUIT_LIST_VIEW = "SUIT_LIST_VIEW";
     }
 }

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

@@ -3,6 +3,7 @@ namespace GFGGame
     public class ConstStorageId
     {
         public const int STORAGE_GUIDE = 10000;//引导起始Id,引导存储id:10000+引导编号id
+        public const int FUNCTION_OPEN = 30000;//功能开启起始Id,功能开启存储id:30000+功能id
 
         public const int STORAGE_SKIP_GUIDE = 20000;//跳过引导,0不跳过,1跳过
         public const int STORAGE_AUTO_PLAY = 20001;//自动战斗,0不自动战斗,1自动战斗

+ 23 - 1
GameClient/Assets/Game/HotUpdate/Controller/GuideController.cs

@@ -48,6 +48,21 @@ namespace GFGGame
             return "";
         }
 
+        /// <summary>
+        /// 是否特殊条件开启
+        /// </summary>
+        /// <returns></returns>
+        private static bool CheckSpecialGuideOpen(GuideCfg cfg)
+        {
+            if (cfg.special <= 0) return false;
+            if (cfg.key == ConstGuideId.SUIT_LIST_VIEW)
+            {
+                return FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(SuitListView).Name, false);
+            }
+            return false;
+
+        }
+
         public static bool TryGuide(GObject target, string guideKey, int index, string guideStr = null, int listIndex = -1, bool checkPriorIndex = true, int yTxt = 0, float devWidth = 0, float devHeight = 0, bool showAni = true, bool checkChapterPass = false, bool isOptionalGuide = false)
         {
 
@@ -72,7 +87,14 @@ namespace GFGGame
             bool isRoleLvGuide = cfg.roleLv > 0;
             bool iscurRoleLv = RoleDataManager.lvl >= cfg.roleLv;
 
-            if (isStoryLevelGuide && !isFinishCurId && isFinishPriorId && !isFinishCurIndex && isFinishPriorIndex && isCfgChapterOpen && isCfgChapter || !isStoryLevelGuide && !isRoleLvGuide && !isFinishCurId || isRoleLvGuide && !isFinishCurId && iscurRoleLv)
+            bool isSpecial = cfg.special > 0 && CheckSpecialGuideOpen(cfg);//特殊条件开启的引导
+
+
+            bool storyType = isStoryLevelGuide && !isFinishCurId && isFinishPriorId && !isFinishCurIndex && isFinishPriorIndex && isCfgChapterOpen && isCfgChapter;
+            bool roleLvType = isRoleLvGuide && !isFinishCurId && isFinishPriorId && !isFinishCurIndex && isFinishPriorIndex && iscurRoleLv;
+            bool specialType = isSpecial && !isFinishCurId && isFinishPriorId && !isFinishCurIndex && isFinishPriorIndex;
+            bool noneType = !isStoryLevelGuide && !isFinishCurId && !isRoleLvGuide && !isSpecial;
+            if (storyType || roleLvType || specialType || noneType)
             {
                 GuideDataManager.currentGuideId = cfg.id;
                 GuideDataManager.currentGuideIdIndex = index;

+ 45 - 4
GameClient/Assets/Game/HotUpdate/Data/FunctionOpenDataManager.cs

@@ -31,7 +31,7 @@ namespace GFGGame
             }
             if (!CheckIsChapterFunOpen(cfg, showTips)) return false;
             if (!CheckIsLvFunOpen(cfg, showTips)) return false;
-
+            if (!CheckSpecialFunOpen(cfg, showTips)) return false;
             return true;
         }
 
@@ -67,17 +67,34 @@ namespace GFGGame
             for (int i = 0; i < cfgs.Length; i++)
             {
                 if (cfgs[i].show == 0) continue;
-                if (lv != cfgs[i].lv || !CheckIsLvFunOpen(cfgs[i], false)) continue;
+                if (lv < cfgs[i].lv || !CheckIsLvFunOpen(cfgs[i], false)) continue;
                 if (!CheckIsChapterFunOpen(cfgs[i], false)) continue;
                 listCfg.Add(cfgs[i].id);
             }
             if (listCfg.Count > 0)
             {
-                // Timers.inst.Add(1, 0, FunctionOpen, listCfg);
                 ViewManager.Show<FunctionOpenView>(listCfg);
             }
         }
-
+        public void CheckHasSpecialFunOpen()
+        {
+            FunctionOpenCfg[] cfgs = FunctionOpenCfgArray.Instance.dataArray;
+            List<string> listCfg = new List<string>();
+            for (int i = 0; i < cfgs.Length; i++)
+            {
+                if (cfgs[i].show == 0) continue;
+                if ((cfgs[i].special <= 0)) continue;
+                if (StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + cfgs[i].index) == 1) continue;
+                if (CheckSpecialFunOpen(cfgs[i], false))
+                {
+                    listCfg.Add(cfgs[i].id);
+                }
+            }
+            if (listCfg.Count > 0)
+            {
+                ViewManager.Show<FunctionOpenView>(listCfg);
+            }
+        }
         // private void FunctionOpen(object param)
         // {
         //     if (ViewManager.isViewOpen(typeof(RoleLvUpView).Name)) return;
@@ -115,5 +132,29 @@ namespace GFGGame
             if (showTips) PromptController.Instance.ShowFloatTextPrompt(string.Format("角色达到{0}级解锁", cfg.lv));
             return false;
         }
+
+
+
+        private bool CheckSpecialFunOpen(FunctionOpenCfg cfg, bool showTips = true)
+        {
+            if (cfg.special <= 0) return true;
+            if (cfg.id == typeof(SuitListView).Name)//服装升级获取第一套【天衣】套装后开启
+            {
+                if (StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + cfg.index) == 1) return true;
+
+                List<int> _currentList3 = DressUpMenuSuitDataManager.GetSuitIDList();
+                if (_currentList3.Count == 0) return false;
+                _currentList3 = SuitUtil.SortSuitListByHighRarity(_currentList3);
+                if (SuitCfgArray.Instance.GetCfg(_currentList3[0]).rarity == ConstDressRarity.Rarity_TIANYI)
+                {
+                    StorageSProxy.ReqSetClientValue(ConstStorageId.FUNCTION_OPEN + cfg.index, 1).Coroutine();
+                    return true;
+                }
+
+            }
+            return false;
+
+        }
+
     }
 }

+ 7 - 0
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -45,6 +45,13 @@ namespace GFGGame
                 {
                     DecomposeDataManager.Instance.Add(itemID);
                 }
+
+                FunctionOpenCfg functionOpenCfg = FunctionOpenCfgArray.Instance.GetCfg(typeof(SuitListView).Name);
+                if (itemCfg.rarity == ConstDressRarity.Rarity_TIANYI && StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + functionOpenCfg.index) == 0)
+                {
+                    
+                    FunctionOpenDataManager.Instance.CheckHasSpecialFunOpen();
+                }
             }
 
             // if (itemCfg.itemType == ConstItemType.DRESS_UP && !DressUpMenuItemDataManager.CheckIsSceneType(itemID))

+ 6 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitListView.cs

@@ -156,6 +156,12 @@ namespace GFGGame
                 }
             });
         }
+        protected override void UpdateToCheckGuide(object param)
+        {
+            if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+
+            GuideController.TryGuide(_ui.m_listSuit, ConstGuideId.SUIT_LIST_VIEW, 3, "选择套装", 0);
+        }
     }
 }
 

+ 9 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitView.cs

@@ -367,5 +367,14 @@ namespace GFGGame
             Debug.Log("换新奖励:" + ItemDataManager.GetItemNum(10370));
 
         }
+        protected override void UpdateToCheckGuide(object param)
+        {
+            if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+
+            GuideController.TryGuide(_ui.m_btnTabFoster, ConstGuideId.SUIT_LIST_VIEW, 4, "点击进行服饰养护工作");
+            GuideController.TryGuide(_ui.m_btnTabRenew, ConstGuideId.SUIT_LIST_VIEW, 5, "完成养护流程后,可以对服饰进行焕新,获得更多新的套装配件哦~");
+            GuideController.TryCompleteGuide(ConstGuideId.SUIT_LIST_VIEW, 5);
+
+        }
     }
 }

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs

@@ -768,7 +768,8 @@ namespace GFGGame
             GuideController.TryGuide(_ui.m_btnSave, ConstGuideId.FREEDOM_DRESS, 5, "搭配好的服饰,可以保存随时查看");
             GuideController.TryGuide(_ui.m_btnHome, ConstGuideId.FREEDOM_DRESS, 6, "保存成功,回主界面看看吧");
             GuideController.TryCompleteGuide(ConstGuideId.FREEDOM_DRESS, 6);
-            GuideController.TryGuide(_ui.m_btnPhoto, ConstGuideId.PHOTOGRAPH, 3, "点击拍照");
+
+            GuideController.TryGuide(_ui.m_btnPhoto, ConstGuideId.PHOTOGRAPH, 1, "完成心水搭配后,可以拍照留下纪念哦");
 
         }
     }

+ 5 - 5
GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs

@@ -576,11 +576,11 @@ namespace GFGGame
         protected override void UpdateToCheckGuide(object param)
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
-            GuideController.TryGuide(_ui.m_ComSelectRes.m_comBtnTab.m_btn2, ConstGuideId.PHOTOGRAPH, 4, "可以自由添加已有道具");
-            GuideController.TryGuide(_ui.m_loaGuide, ConstGuideId.PHOTOGRAPH, 5, "点击空白处查看整体效果", -1, true, (int)(_ui.m_loaGuide.y + _ui.m_loaGuide.height - 250), 0, 0, false);
-            GuideController.TryGuide(_ui.m_loaGuide1, ConstGuideId.PHOTOGRAPH, 6, "双指可控制放大缩小,或点击边框上的按键控制", -1, true, (int)(_ui.m_loaGuide1.y + _ui.m_loaGuide1.height - 250), 0, 0, false);
-            GuideController.TryGuide(_ui.m_btnPhotograph, ConstGuideId.PHOTOGRAPH, 7, "点击拍照,可以记录和分享美照啦");
-            GuideController.TryCompleteGuide(ConstGuideId.PHOTOGRAPH, 7);
+            GuideController.TryGuide(_ui.m_ComSelectRes.m_comBtnTab.target, ConstGuideId.PHOTOGRAPH, 2, "在这里可以选择已获得的背景、道具等,也可以放大缩小物品,增加画面丰富度");
+            // GuideController.TryGuide(_ui.m_loaGuide, ConstGuideId.PHOTOGRAPH, 5, "点击空白处查看整体效果", -1, true, (int)(_ui.m_loaGuide.y + _ui.m_loaGuide.height - 250), 0, 0, false);
+            // GuideController.TryGuide(_ui.m_loaGuide1, ConstGuideId.PHOTOGRAPH, 6, "双指可控制放大缩小,或点击边框上的按键控制", -1, true, (int)(_ui.m_loaGuide1.y + _ui.m_loaGuide1.height - 250), 0, 0, false);
+            GuideController.TryGuide(_ui.m_btnPhotograph, ConstGuideId.PHOTOGRAPH, 3, "来记录下这一刻吧~~");
+            GuideController.TryCompleteGuide(ConstGuideId.PHOTOGRAPH, 3);
         }
     }
 }

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

@@ -256,7 +256,6 @@ namespace GFGGame
 
             // GuideController.TryGuide(_ui.m_btnHome, ConstGuideId.UP_CARD_STAR, 1, "点击返回主界面");
 
-            GuideController.TryGuide(_ui.m_btnHome, ConstGuideId.PHOTOGRAPH, 1, "拍照功能已开启,解锁更多搭配和玩法哦");
 
         }
         protected override void TryCompleteGuide()

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

@@ -379,10 +379,11 @@ namespace GFGGame
             GuideController.TryCompleteGuide(ConstGuideId.CLOTHING_SYNTHETIC, 7);
 
             GuideController.TryGuide(_ui.m_btnCiPai.target, ConstGuideId.UP_CARD_LV, 2, "获得了一张“词牌”,点击查看", -1, false, 0, 0, 0, true, true);
-            GuideController.TryGuide(_ui.m_btnHuanZhuang.target, ConstGuideId.PHOTOGRAPH, 2, "点这里看看吧", -1, false);
 
             GuideController.TryGuide(_ui.m_btnStudio.target, ConstGuideId.STUDIO_OPEN, 1, "工作室开门啦,进去看看~~");
 
+            GuideController.TryGuide(_ui.m_btnXiuFang.target, ConstGuideId.SUIT_LIST_VIEW, 1, "获得“天衣”服饰后,可进行养护和焕新,到绣坊看看");
+
 
         }
     }

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

@@ -87,6 +87,9 @@ namespace GFGGame
 
             GuideController.TryGuide(_ui.m_component.m_btnDecompose, ConstGuideId.CLOTHING_DECOMPOSE, 3, "这里可以消耗重复获得的服饰");
 
+            GuideController.TryGuide(_ui.m_component.m_btnClothingUpgrade, ConstGuideId.SUIT_LIST_VIEW, 2, "点击服装升级");
+
+
         }
 
     }

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


BIN
GameClient/Assets/ResIn/UI/ClothingFoster/ClothingFoster_fui.bytes