| System/Dungeon/DungeonFairyFeastHintWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulHoleBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulItemBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulLevelUpWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulResolveWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatheringSoulModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/EnumHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Dungeon/DungeonFairyFeastHintWin.cs
@@ -19,6 +19,7 @@ [SerializeField] Button m_QuestionRank; [SerializeField] Text m_QuestionRankBtnTxt; [SerializeField] DungeonTargetBehaviour m_TargetBehaviour; [SerializeField] RectTransform m_ContainerHint; [SerializeField] RectTransform m_ContainerRank; [SerializeField] FairyFeastRankBehaviour[] m_RankBehaviours; [SerializeField] FairyFeastRankBehaviour m_TopRank; @@ -99,6 +100,7 @@ m_QuestionRankBtnTxt.color = _index == 0 ? m_SelectEffect.unSelectTextColor : m_SelectEffect.selectTextColor; m_TargetBehaviour.gameObject.SetActive(_index == 0); m_ContainerHint.gameObject.SetActive(_index == 0); m_ContainerRank.gameObject.SetActive(_index == 1); currentSelect = _index; if (_index == 0) System/GatheringSoul/GatherSoulHoleBehaviour.cs
@@ -31,6 +31,8 @@ get { return ModelCenter.Instance.GetModel<GatherSoulComposeModel>(); } } bool existItem = false; private void Awake() { m_Func.onClick.AddListener(OnFunc); @@ -56,6 +58,7 @@ m_ContainreItem.gameObject.SetActive(equiped); m_ContainerLock.gameObject.SetActive(!unlockHole); m_ContainerEquipSign.gameObject.SetActive(!equiped && unlockHole); existItem = equiped; if (equiped) { var config = Config.Instance.Get<ItemConfig>(item.id); @@ -175,7 +178,12 @@ { if (this.hole == hole) { bool exist = existItem; DisplayBase(); if (!exist && existItem && model.serverInited) { EffectMgr.Instance.PlayUIEffect(3079, 2100, transform, false); } } } System/GatheringSoul/GatherSoulItemBehaviour.cs
@@ -18,6 +18,7 @@ [SerializeField] Text m_Count; [SerializeField] Button m_Func; [SerializeField] RectTransform m_Select; [SerializeField] UIEffect m_Effect; VirtualPackModel model { @@ -36,12 +37,31 @@ VirtualItem displayItem; bool requireResolveEffect = false; public static event Action<Transform> alreadyResolveEvent; private void Awake() { if (m_Func != null) { m_Func.onClick.AddListener(OnFunc); } } private void OnEnable() { soulModel.prepareResolveEvent += PrepareResolveEvent; DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent += MakeItemAnswerEvent; } private void OnDisable() { soulModel.prepareResolveEvent -= PrepareResolveEvent; DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitializeEvent; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent; requireResolveEffect = false; } /// <summary> @@ -130,9 +150,48 @@ { if (m_Select != null) { m_Select.gameObject.SetActive(displayItem.packType == PackType.rptGatherSoul && soulModel.replaceRedpoint.state == RedPointState.Simple && soulModel.replaceRedpointIndex == displayItem.index); var requireSelect = displayItem.packType == PackType.rptGatherSoul && soulModel.topBestSoulIndexs.Contains(displayItem.index); m_Select.gameObject.SetActive(requireSelect); if (requireSelect) { if (m_Effect.target != null) { var animator = m_Effect.target.GetAnimator(); if (animator != null) { animator.Play(0, 0, GatherSoulWin.sync_topsoul_normalized); } } } } } private void PrepareResolveEvent(PackType packType, int index) { if (displayItem.packType == packType && displayItem.index == index) { requireResolveEffect = true; } } private void BeforePlayerDataInitializeEvent() { requireResolveEffect = false; } private void MakeItemAnswerEvent(H0721_tagMakeItemAnswer package) { if (package.MakeType == (int)MakeType.Def_mitGatherSoulDecompose) { if (requireResolveEffect) { if (alreadyResolveEvent != null) { alreadyResolveEvent(transform); } requireResolveEffect = false; } } } System/GatheringSoul/GatherSoulLevelUpWin.cs
@@ -28,6 +28,8 @@ public static int selectHole = 0; int level = 0; GatheringSoulModel model { get { return ModelCenter.Instance.GetModel<GatheringSoulModel>(); } @@ -82,6 +84,7 @@ m_ItemName.color = UIHelper.GetUIColor(itemConfig.ItemColor); m_Level.text = Language.Get("Z1024", item.level); m_Icon.SetSprite(itemConfig.IconKey); level = item.level; } } @@ -144,7 +147,12 @@ CloseImmediately(); return; } var record = level; Display(); if (level > record && model.serverInited) { EffectMgr.Instance.PlayUIEffect(3078, 3100, m_Icon.transform, false); } } } System/GatheringSoul/GatherSoulResolveWin.cs
@@ -65,12 +65,12 @@ selectQuality = GetDefaultQuality(); m_QualitySort.SetDefault(); m_Quality.text = Language.Get(StringUtility.Contact("GatherSoulResolve_", selectQuality)); m_Quality.color = UIHelper.GetUIColor(selectQuality); Display(); PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; model.gatherSoulPackRefresh += GatherSoulPackRefresh; m_QualitySort.onSelectSortEvent += OnSelectSort; model.oneKeyResolveRefresh += OneKeyResolveRefresh; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent += MakeItemAnswerEvent; m_ScrollerControl.JumpIndex(0); } @@ -86,6 +86,7 @@ model.gatherSoulPackRefresh -= GatherSoulPackRefresh; m_QualitySort.onSelectSortEvent -= OnSelectSort; model.oneKeyResolveRefresh -= OneKeyResolveRefresh; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent; } protected override void OnAfterClose() @@ -129,13 +130,20 @@ resolveCell.Display(cell.index); } private void MakeItemAnswerEvent(H0721_tagMakeItemAnswer package) { if (package.MakeType == (int)MakeType.Def_mitGatherSoulDecompose) { EffectMgr.Instance.PlayUIEffect(3080, 3100, transform, false); } } private void OnSelectSort(SortType type, int sort) { if (type == SortType.EquipQuality) { selectQuality = sort; Display(); m_Quality.color = UIHelper.GetUIColor(selectQuality); } } System/GatheringSoul/GatherSoulWin.cs
@@ -44,6 +44,10 @@ { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } public static float sync_topsoul_normalized = 0f; static float topsoul_duration = 1.067f; static float sync_timer = 0f; #region Built-in protected override void BindController() { @@ -79,6 +83,7 @@ Display(); PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; model.gatherSoulPackRefresh += GatherSoulPackRefresh; GatherSoulItemBehaviour.alreadyResolveEvent += AlreadyResolveEvent; } protected override void OnAfterOpen() @@ -93,10 +98,24 @@ } PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent; model.gatherSoulPackRefresh -= GatherSoulPackRefresh; GatherSoulItemBehaviour.alreadyResolveEvent -= AlreadyResolveEvent; } protected override void OnAfterClose() { } protected override void LateUpdate() { sync_topsoul_normalized = Mathf.Clamp01(sync_timer / topsoul_duration); if (sync_timer >= topsoul_duration) { sync_timer = 0f; } else { sync_timer += Time.deltaTime; } } #endregion @@ -153,6 +172,33 @@ m_ScrollerControl.m_Scorller.RefreshActiveCellViews(); } private void AlreadyResolveEvent(Transform resolveTransform) { if (resolveTransform != null) { var effect = EffectMgr.Instance.PlayUIEffect(3076, 2200, transform, true); if (effect != null) { var bezierMove = effect.AddMissingComponent<BezierMove>(); bezierMove.duration = 1.5f; var startPoint = resolveTransform.position; var endPoint = m_DustIcon.transform.position; var nl = Vector3.Normalize(endPoint - startPoint); var normal = new Vector3(-nl.y, nl.x, 0); var distance = Vector3.Distance(startPoint, endPoint); var pivot = startPoint + normal * UnityEngine.Random.Range(-distance, distance) * 0.7f + nl * distance * 0.4f; bezierMove.Begin(startPoint, pivot, endPoint, () => { if (effect != null) { EffectMgr.Instance.RecyleUIEffect(3076, effect.gameObject); } }); } } } private void ViewProperty() { if (WindowCenter.Instance.IsOpen<GatherSoulTotalPropertyWin>()) System/GatheringSoul/GatheringSoulModel.cs
@@ -20,6 +20,7 @@ public Dictionary<int, List<int>> gatherSoulPropertys { get; private set; } public List<int> packIndexs { get; private set; } public List<int> topBestSoulIndexs = new List<int>(); public List<GatherSoulItem> resolveItems { get; private set; } public int holeCount @@ -46,6 +47,11 @@ public int coreHole { get; private set; } public int autoResolveRemainCount { get; private set; } public bool serverInited { get; private set; } public event Action<PackType, int> prepareResolveEvent; public event Action<int> gatherSoulHoleRefresh; public event Action gatherSoulHolesRefresh; @@ -88,12 +94,15 @@ public void OnBeforePlayerDataInitialize() { serverInited = false; packIndexs.Clear(); topBestSoulIndexs.Clear(); gatherSoulHoleDict.Clear(); } public void OnPlayerLoginOk() { serverInited = true; CheckAutoResolve(); UpdateRedpoint(); } @@ -234,6 +243,7 @@ public void RefreshGatherSoulPack() { packIndexs.Clear(); topBestSoulIndexs.Clear(); List<int> emptyHoles; if (ExistEmptyHole(out emptyHoles)) { @@ -359,6 +369,7 @@ { packIndexs.RemoveAt(removeList[i]); } topBestSoulIndexs.AddRange(packIndexs); } public bool ExistEmptyHole(out List<int> list) @@ -784,6 +795,11 @@ { return; } if (prepareResolveEvent != null) { prepareResolveEvent(item.placeType == 0 ? PackType.rptGatherSoul : PackType.rptInterimPack, item.index); } SendResolvePack(new ushort[1] { (ushort)item.index }, false); } Utility/EnumHelper.cs
@@ -816,6 +816,7 @@ Def_mitDogzEquipPlus = 21,// 神兽装备强化 Def_mitRuneCompound = 22,//符印合成 Def_mitGatherSoulCompound = 23,//聚魂合成 Def_mitGatherSoulDecompose = 24,//聚魂分解 } /// <summary> /// 金钱类型(虚拟物品)