| System/Treasure/FairyTreasureCollectPanelPattern5.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureData.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureLevelUpWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureMeridianBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureNewGotBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureNewGotBehaviour.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureNewGotWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureStageTipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureUnlockCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Treasure/FairyTreasureCollectPanelPattern5.cs
@@ -347,7 +347,11 @@ private void DisplayFunc() { m_FuncTitle.text = treasure.state == TreasureState.Collected ? Language.Get("FairyTreasureOpenFunc") : Language.Get("FairyTreasureUnOpenFunc"); var config = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(treasure.unLockFunc); var funcStage = treasure.treasureStages.Find((x) => { return x.unlockType == TreasureStageUnlock.Func; }); var config = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(funcStage.func); if (config != null) { m_FuncIcon.SetSprite(config.Icon); System/Treasure/TreasureData.cs
@@ -78,11 +78,6 @@ } } public int unLockFunc { get; private set; } public int unLockPrivilege { get; private set; System/Treasure/TreasureLevelUpWin.cs
@@ -23,13 +23,8 @@ [SerializeField] RectTransform m_ContainerUnGet; [SerializeField] RectTransform m_ContainerLockDetail; [SerializeField] PositionTween m_LockDetailPosTween; [SerializeField] ScrollerController m_Controller; [SerializeField] Button m_GetTreasureBtn; [SerializeField] RectTransform m_ContainerLockFunc; [SerializeField] RectTransform m_ContainerLockSkill; [SerializeField] RectTransform m_ContainerLockPrivilege; [SerializeField] Button m_PrivilegeLockBtn; [SerializeField] Button m_FuncLockBtn; [SerializeField] Button m_SkillLockBtn; [SerializeField] RectTransform m_ContainerLimit; [SerializeField] Text m_TreasureChallengeLimit; [SerializeField] Text m_TreasureStory; @@ -124,11 +119,9 @@ m_BackBtn.onClick.AddListener(OnBack); m_GetTreasureBtn.onClick.AddListener(OnGetTreasure); m_LevelUpBtn.onClick.AddListener(OnLevelUp); m_PrivilegeLockBtn.onClick.AddListener(OnStagePrivilegeClick); m_FuncLockBtn.onClick.AddListener(OnStageFuncClick); m_SkillLockBtn.onClick.AddListener(OnStageSkillClick); m_LeftBtn.onClick.AddListener(OnLeftBtn); m_RightBtn.onClick.AddListener(OnRightBtn); m_Controller.OnRefreshCell += OnRefreshCell; } protected override void OnPreOpen() @@ -244,6 +237,12 @@ { } #endregion private void OnRefreshCell(ScrollerDataType type, CellView cell) { TreasureUnlockCell treasureUnlockCell = cell as TreasureUnlockCell; treasureUnlockCell.Display(model.selectedTreasure, cell.index); } private void TreasureStateChangeEvent(int _id) { @@ -448,34 +447,22 @@ private void UpdateTreasureUnlockDetail() { var _cfg = ConfigManager.Instance.GetTemplate<TreasureConfig>(model.selectedTreasure); var _funcCfg = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(m_Treasure.unLockFunc); m_TreasureStory.text = _cfg.Story; m_ContainerLockFunc.gameObject.SetActive(_funcCfg != null); if (_funcCfg != null) m_Controller.Refresh(); for (int i = 0; i < m_Treasure.treasureStages.Count; i++) { m_FuncLockBtn.image.SetSprite(_funcCfg.Icon); } var _skillCfg = ConfigManager.Instance.GetTemplate<SkillConfig>(m_Treasure.unLockSkill); m_ContainerLockSkill.gameObject.SetActive(_skillCfg != null); if (_skillCfg != null) var stage = m_Treasure.treasureStages[i]; switch (stage.unlockType) { m_SkillLockBtn.image.SetSprite(_skillCfg.IconName); case TreasureStageUnlock.Skill: case TreasureStageUnlock.Func: case TreasureStageUnlock.Treasure: m_Controller.AddCell(ScrollerDataType.Header, stage.stage); break; } var _privilegeCfg = ConfigManager.Instance.GetTemplate<TreasurePrivilegeConfig>(m_Treasure.unLockPrivilege); m_ContainerLockPrivilege.gameObject.SetActive(_privilegeCfg != null); if (_privilegeCfg != null) { var privilegeStage = m_Treasure.treasureStages[m_Treasure.StageCount - 1]; if (FuncOpen.Instance.IsFuncOpen(126)) { m_PrivilegeLockBtn.image.SetSprite(_privilegeCfg.Icon); } else { m_PrivilegeLockBtn.image.SetSprite("UnKnowIcon"); } m_PrivilegeLockBtn.image.SetNativeSize(); } m_Controller.Restart(); Achievement achievement = null; int _achievementId = 0; @@ -508,59 +495,6 @@ break; } } } private void OnStageSkillClick() { if (model.treasureStepUpShow) { return; } var _stage = m_Treasure.treasureStages.Find((x) => { return x.unlockType == TreasureStageUnlock.Skill; }); if (_stage != null) { OpenTreasureStageTip(_stage.stage,m_SkillLockBtn.transform as RectTransform); } } private void OnStageFuncClick() { if (model.treasureStepUpShow) { return; } var _stage = m_Treasure.treasureStages.Find((x) => { return x.unlockType == TreasureStageUnlock.Func; }); if (_stage != null) { OpenTreasureStageTip(_stage.stage,m_FuncLockBtn.transform as RectTransform); } } private void OnStagePrivilegeClick() { if (model.treasureStepUpShow) { return; } if (!FuncOpen.Instance.IsFuncOpen(126)) { FuncOpen.Instance.ProcessorFuncErrorTip(126); return; } //var _stage = m_Treasure.treasureStages.Find((x) => //{ // return x.unlockType == TreasureStageUnlock.Privilege; //}); //if (_stage != null) //{ // OpenTreasureStageTip(_stage.stage, m_PrivilegeLockBtn.transform as RectTransform); //} } private void OpenTreasureStageTip(int _stage, RectTransform _target) @@ -976,7 +910,7 @@ { case TreasureStageUnlock.Func: m_ContainerTip.gameObject.SetActive(true); var _funcConfig = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(m_Treasure.unLockFunc); var _funcConfig = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(stage.func); m_NewStageTip.text = StringUtility.Contact(Language.Get("TreasureGetNewFunc"), UIHelper.GetTextColorByItemColor(TextColType.Green, _funcConfig.Remark)); break; System/Treasure/TreasureMeridianBehaviour.cs
@@ -88,8 +88,7 @@ private void OnStageClick() { if (m_TreasureStage != null&& m_TreasureStage.unlockType != TreasureStageUnlock.Treasure && m_TreasureStage.unlockType != TreasureStageUnlock.Property) if (m_TreasureStage != null&& m_TreasureStage.unlockType != TreasureStageUnlock.Property) { if (m_TreasureStage.unlockType == TreasureStageUnlock.Item) { @@ -154,6 +153,7 @@ m_Icon.SetSprite(GeneralConfig.Instance.propertyIconDict[_key]); } } m_Icon.SetNativeSize(); break; case TreasureStageUnlock.Skill: var _skillId = m_TreasureStage.GetSkill(PlayerDatas.Instance.baseData.Job); @@ -162,6 +162,7 @@ m_Descs[0].color = m_Treasure.id == 104 ? UIHelper.GetUIColor(TextColType.NavyYellow) : UIHelper.s_LightYellow; m_Descs[0].gameObject.SetActive(true); m_Icon.SetSprite(_skillCfg.IconName); m_Icon.SetNativeSize(); break; case TreasureStageUnlock.Func: var _funcCfg = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(m_TreasureStage.func); @@ -169,6 +170,7 @@ m_Descs[0].color = UIHelper.s_LightYellow; m_Descs[0].gameObject.SetActive(true); m_Icon.SetSprite(_funcCfg.Icon); m_Icon.SetNativeSize(); break; case TreasureStageUnlock.Item: m_Descs[0].gameObject.SetActive(true); @@ -176,6 +178,7 @@ var itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(m_TreasureStage.item.id); m_Icon.SetSprite(itemConfig.IconKey); m_Descs[0].text = itemConfig.ItemName; m_Icon.SetNativeSize(); break; case TreasureStageUnlock.Treasure: m_Descs[0].gameObject.SetActive(true); @@ -183,9 +186,9 @@ var treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(m_TreasureStage.treasure); m_Icon.SetSprite(treasureConfig.Icon); m_Descs[0].text = treasureConfig.Name; m_Icon.rectTransform.sizeDelta = new Vector2(86, 86); break; } m_Icon.SetNativeSize(); } } System/Treasure/TreasureNewGotBehaviour.cs
New file @@ -0,0 +1,80 @@ using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class TreasureNewGotBehaviour : MonoBehaviour { [SerializeField] RectTransform m_ContainerFunc; [SerializeField] RectTransform m_ContainerSkill; [SerializeField] RectTransform m_ContaienrTreasure; [SerializeField] Image m_FuncIcon; [SerializeField] Image m_SkillIcon; [SerializeField] Image m_TreasureIcon; [SerializeField] Text m_Func; [SerializeField] Text m_FuncName; [SerializeField] UIAlphaTween alphaTween; TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } public void Display(int id,int stage) { Treasure treasure; alphaTween.SetStartState(); m_ContainerFunc.gameObject.SetActive(false); m_ContainerSkill.gameObject.SetActive(false); m_ContaienrTreasure.gameObject.SetActive(false); if (model.TryGetTreasure(id, out treasure)) { var treasureStage = treasure.treasureStages.Find((x) => { return x.stage == stage; }); switch (treasureStage.unlockType) { case TreasureStageUnlock.Skill: m_ContainerSkill.gameObject.SetActive(true); var job = PlayerDatas.Instance.baseData.Job; var skillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(treasureStage.GetSkill(job)); if (skillConfig != null) { m_SkillIcon.SetSprite(skillConfig.IconName); m_Func.text = Language.Get("TreasureUnlockNewSkill"); m_FuncName.text = skillConfig.SkillName; } break; case TreasureStageUnlock.Func: m_ContainerFunc.gameObject.SetActive(true); var funcConfig = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(treasureStage.func); if (funcConfig != null) { m_FuncIcon.SetSprite(funcConfig.Icon); m_Func.text = Language.Get("TreasureUnlockNewFunc"); m_FuncName.text = funcConfig.Remark; } break; case TreasureStageUnlock.Treasure: m_ContaienrTreasure.gameObject.SetActive(true); var treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(treasureStage.treasure); if (treasureConfig != null) { m_TreasureIcon.SetSprite(treasureConfig.Icon); m_Func.text = Language.Get("TreasureUnlockNewTreasure"); m_FuncName.text = treasureConfig.Name; } break; } } } public void Show() { gameObject.SetActive(true); alphaTween.Play(); } } } System/Treasure/TreasureNewGotBehaviour.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: e242f7bb709856c4f9c2e9d8d3f705cc timeCreated: 1534498126 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Treasure/TreasureNewGotWin.cs
@@ -39,22 +39,7 @@ [SerializeField] RectTransform m_ContainerFuncUnLock; [SerializeField] Slider m_FuncUnLockSlider; [SerializeField] Text m_UnlockTip; [SerializeField] RectTransform m_ContainerFunc; [SerializeField] UIAlphaTween m_FadeInFunc; [SerializeField] Image m_FuncIcon; [SerializeField] Text m_FuncName; [SerializeField] RectTransform m_ContainerSkill; [SerializeField] UIAlphaTween m_FadeInSkill; [SerializeField] Image m_SkillIcon; [SerializeField] Text m_SKillName; [SerializeField] Text m_SkillDescription; [SerializeField] RectTransform m_ContainerSpecial; [SerializeField] UIAlphaTween m_FadeInSpecial; [SerializeField] Image m_SpecialIcon; [SerializeField] Text m_SpecialName; [SerializeField] Text m_SpecialDescription; [SerializeField] TreasureNewGotBehaviour[] m_TreasureNewGots; [SerializeField] RectTransform m_ContianerStory; [SerializeField] UIAlphaTween m_FadeInStory; @@ -73,6 +58,7 @@ Treasure treasure; TreasureStage treasureStage; public int displayStageCount = 0; public static event Action CloseTreasureNewGotWinEvent; ShowStep m_ShowStep = ShowStep.None; @@ -99,20 +85,14 @@ case ShowStep.ShowNameAndSliderUnlock: OnEnterShowNameAndSliderUnlock(); break; case ShowStep.ShowFunc: case ShowStep.ShowUnlock: OnEnterShowFuncUnlock(); break; case ShowStep.ShowSkill: OnEnterShowSkill(); break; case ShowStep.ShowSpecialEffect: OnEnterShowSpecialEffect(); break; case ShowStep.ShowStory: OnEnterShowStory(); break; case ShowStep.ShowUnlock: OnEnterShowUnlock(); case ShowStep.ShowComplete: OnEnterShowComplete(); break; case ShowStep.FadeOut: OnEnterFadeOut(); @@ -126,7 +106,6 @@ } } float beforeSliderTime = 0; #region Built-in protected override void BindController() { @@ -147,14 +126,16 @@ m_ContainerMask.gameObject.SetActive(false); m_ContainerDescription.gameObject.SetActive(false); m_ContainerTreasureName.gameObject.SetActive(false); m_ContainerSkill.gameObject.SetActive(false); m_ContianerStory.gameObject.SetActive(false); m_ContainerFuncUnLock.gameObject.SetActive(false); m_ContainerFunc.gameObject.SetActive(false); m_ContainerSpecial.gameObject.SetActive(false); m_UnlockTip.gameObject.SetActive(false); m_ContainerFinishShow.gameObject.SetActive(false); m_ContainerFightPower.gameObject.SetActive(false); for (int i = 0; i < m_TreasureNewGots.Length; i++) { m_TreasureNewGots[i].gameObject.SetActive(false); } model.TryGetTreasure(model.newGotTreasureId, out treasure); treasureStage = treasure.treasureStages.Find((x) => @@ -250,54 +231,34 @@ } break; case ShowStep.ShowNameAndSliderUnlock: m_FuncUnLockSlider.value = timer / 2.8f; m_FuncUnLockSlider.value = 0; if (timer > 0.7f) { beforeSliderTime += 0.7f; timer = 0f; showStep = ShowStep.ShowFunc; } break; case ShowStep.ShowFunc: m_FuncUnLockSlider.value = (timer + beforeSliderTime) / 2.8f; if (timer > 0.7f) { beforeSliderTime += 0.7f; timer = 0f; showStep = ShowStep.ShowSkill; } break; case ShowStep.ShowSkill: m_FuncUnLockSlider.value = (timer + beforeSliderTime) / 2.8f; if (timer > 0.7f) { beforeSliderTime += 0.7f; timer = 0f; showStep = ShowStep.ShowSpecialEffect; } break; case ShowStep.ShowSpecialEffect: m_FuncUnLockSlider.value = (timer + beforeSliderTime) / 2.8f; if (timer > 0.7f) { beforeSliderTime += 0.7f; timer = 0f; showStep = ShowStep.ShowUnlock; } break; case ShowStep.ShowStory: if (timer > 0.7f) { beforeSliderTime = 3f; timer = 0f; showStep = ShowStep.ShowUnlock; } break; case ShowStep.ShowUnlock: if (timer + beforeSliderTime <= 2.8f) m_FuncUnLockSlider.value = timer / (displayStageCount * 0.7f); if (timer > displayStageCount * 0.7f) { m_FuncUnLockSlider.value = (timer + beforeSliderTime) / 2.8f; timer = 0f; showStep = ShowStep.ShowComplete; } var index = (int)(timer / (displayStageCount * 0.7f) * 10); if (index < m_TreasureNewGots.Length && !m_TreasureNewGots[index].gameObject.activeSelf) { m_TreasureNewGots[index].Show(); } break; case ShowStep.ShowStory: if (timer > 0.7f) { timer = 0f; showStep = ShowStep.ShowComplete; } break; case ShowStep.ShowComplete: if (timer > 10f) { timer = 0f; @@ -321,7 +282,6 @@ { showStep = ShowStep.ShowModel; timer = 0f; beforeSliderTime = 0; var config = ConfigManager.Instance.GetTemplate<TreasureConfig>(treasure.id); m_TreasureName.text = config.Name; @@ -342,34 +302,27 @@ var _flyObjectPoint = m_FlyObjectPoint2; if (treasure.unLockSkill > 0) var index = 0; displayStageCount = 0; for (int i = 0; i < m_TreasureNewGots.Length; i++) { var skillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(treasure.unLockSkill); m_SkillIcon.SetSprite(skillConfig.IconName); m_SKillName.text = skillConfig.SkillName; m_SkillDescription.text = skillConfig.Description; m_ContainerSkill.gameObject.SetActive(true); m_FadeInSkill.SetStartState(); TreasureStage _stage = null; for (int k = index; k < treasure.treasureStages.Count; k++) { index++; if (treasure.treasureStages[k].unlockType == TreasureStageUnlock.Func || treasure.treasureStages[k].unlockType == TreasureStageUnlock.Skill || treasure.treasureStages[k].unlockType == TreasureStageUnlock.Treasure) { _stage = treasure.treasureStages[k]; displayStageCount++; break; } if (treasure.unLockFunc > 0) { var funcConfig = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(treasure.unLockFunc); m_FuncIcon.SetSprite(funcConfig.Icon); m_FuncName.text = funcConfig.Remark; m_ContainerFunc.gameObject.SetActive(true); m_FadeInFunc.SetStartState(); _flyObjectPoint = m_FlyObjectPoint3; } if (treasure.unLockPrivilege > 0) if (_stage != null) { var privilegeConfig = ConfigManager.Instance.GetTemplate<TreasurePrivilegeConfig>(treasure.unLockPrivilege); m_SpecialIcon.SetSprite(privilegeConfig.Icon); m_SpecialName.text = privilegeConfig.Name; m_SpecialDescription.text = privilegeConfig.Description; m_ContainerSpecial.gameObject.SetActive(true); m_FadeInSpecial.SetStartState(); m_TreasureNewGots[i].Display(treasure.id, _stage.stage); } } if (treasureStage != null && (TreasureCategory)config.Category != TreasureCategory.Fairy @@ -423,7 +376,7 @@ private void FinishShow() { if (showStep == ShowStep.ShowUnlock) if (showStep == ShowStep.ShowComplete) { timer = 0f; showStep = ShowStep.FadeOut; @@ -482,28 +435,9 @@ showStep = ShowStep.ShowStory; return; } if (treasure.unLockFunc > 0) if (displayStageCount == 0) { m_FadeInFunc.SetStartState(); m_FadeInFunc.Play(); } else { showStep = ShowStep.ShowSkill; } } private void OnEnterShowSkill() { if (treasure.unLockSkill > 0) { m_ContainerSkill.gameObject.SetActive(true); m_FadeInSkill.SetStartState(); m_FadeInSkill.Play(); } else { showStep = ShowStep.ShowSpecialEffect; showStep = ShowStep.ShowComplete; } } @@ -516,22 +450,6 @@ m_UnlockTip.gameObject.SetActive(true); } private void OnEnterShowSpecialEffect() { m_ContainerSkill.gameObject.SetActive(treasure.unLockSkill > 0); if (treasure.unLockPrivilege > 0) { m_ContainerSpecial.gameObject.SetActive(true); m_FadeInSpecial.SetStartState(); m_FadeInSpecial.Play(); } else { showStep = ShowStep.ShowUnlock; } } private void OnEnterShowStory() { m_ContianerStory.gameObject.SetActive(true); @@ -539,7 +457,7 @@ m_FadeInStory.Play(); } private void OnEnterShowUnlock() private void OnEnterShowComplete() { m_ContainerFinishShow.gameObject.SetActive(true); } @@ -566,11 +484,9 @@ ShowModel, SliderName, ShowNameAndSliderUnlock, ShowFunc, ShowSkill, ShowSpecialEffect, ShowStory, ShowUnlock, ShowStory, ShowComplete, FadeOut, FlyTo, } System/Treasure/TreasureStageTipWin.cs
@@ -26,8 +26,6 @@ [SerializeField] Image m_Icon; [SerializeField] Text m_StageName; [SerializeField] Text m_Description; [SerializeField] RectTransform m_ContainerSpecial; [SerializeField] List<Text> m_TreasurePrivileges; TreasureModel m_Model; TreasureModel model @@ -98,7 +96,6 @@ m_ContainerSkill.gameObject.SetActive(false); m_ContainerFuncSoul.gameObject.SetActive(false); m_ContainerSpecial.gameObject.SetActive(false); switch (m_TreasureStage.unlockType) { @@ -131,15 +128,13 @@ m_Description.text = string.Empty; } break; //case TreasureStageUnlock.Privilege: // m_ContainerFuncSoul.gameObject.SetActive(true); // m_ContainerSpecial.gameObject.SetActive(true); // var privilegeConfig = ConfigManager.Instance.GetTemplate<TreasurePrivilegeConfig>(m_TreasureStage.privilege); // m_Icon.SetSprite(privilegeConfig.Icon); // m_StageName.text = privilegeConfig.Name; // m_Description.text = UIHelper.ReplaceNewLine(privilegeConfig.Description); // DisplayTreasureSpecial(); // break; case TreasureStageUnlock.Treasure: m_ContainerFuncSoul.gameObject.SetActive(true); var treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(m_TreasureStage.treasure); m_Icon.SetSprite(treasureConfig.Icon); m_StageName.text = treasureConfig.Name; m_Description.text = UIHelper.ReplaceNewLine(treasureConfig.Verse.Length > 0 ? treasureConfig.Verse[0] : string.Empty); break; } } System/Treasure/TreasureUnlockCell.cs
@@ -15,9 +15,8 @@ TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } public void Display(int id, int stage, bool last = false) public void Display(int id, int stage) { m_Cutline.gameObject.SetActive(!last); m_Button.RemoveAllListeners(); Treasure treasure; if (model.TryGetTreasure(id, out treasure)) @@ -26,6 +25,19 @@ { return x.stage == stage; }); bool last = true; for (int i = 0; i < treasure.treasureStages.Count; i++) { var _stage = treasure.treasureStages[i]; if (stage < _stage.stage && (_stage.unlockType == TreasureStageUnlock.Func || _stage.unlockType == TreasureStageUnlock.Skill || _stage.unlockType == TreasureStageUnlock.Treasure)) { last = false; break; } } m_Cutline.gameObject.SetActive(!last); if (treasureStage != null) { switch (treasureStage.unlockType)