| System/GatheringSoul/GatherSoulComposeBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulComposeModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulComposeWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulHoleBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulItemBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatherSoulWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GatheringSoul/GatheringSoulModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/GatheringSoul/GatherSoulComposeBehaviour.cs
@@ -31,10 +31,19 @@ { if (compose.requireItems != null && i < compose.requireItems.Count) { GatherSoulItem item; bool exist = soulModel.TryGetHighestLevelItem(compose.requireItems[i], out item); m_RequireItems[i].Display(compose.requireItems[i], exist ? item.level : 1); m_RequireItems[i].DisplayCount(exist ? 1 : 0, 1); if (compose.requireItems[i] == model.jumpGatherSoulItem.itemId) { m_RequireItems[i].Display(model.jumpGatherSoulItem.itemId, model.jumpGatherSoulItem.level); m_RequireItems[i].DisplayCount(1, 1); } else { GatherSoulItem item; bool exist = soulModel.TryGetHighestLevelItem(compose.requireItems[i], out item); m_RequireItems[i].Display(compose.requireItems[i], exist ? item.level : 1); m_RequireItems[i].DisplayCount(exist ? 1 : 0, 1); } } else { System/GatheringSoul/GatherSoulComposeModel.cs
@@ -50,6 +50,8 @@ } } public VirtualItem jumpGatherSoulItem { get; set; } GatheringSoulModel soulModel { get { return ModelCenter.Instance.GetModel<GatheringSoulModel>(); } @@ -114,12 +116,14 @@ } } public bool ExistInComposeMat(int itemId) public bool ExistInComposeMat(int itemId, out Compose outCompose) { outCompose = null; foreach (var compose in composeDict.Values) { if (compose.requireItems.Contains(itemId)) { outCompose = compose; return true; } } System/GatheringSoul/GatherSoulComposeWin.cs
@@ -23,6 +23,9 @@ [SerializeField] GatherSoulComposeBehaviour[] m_ComposeBehaviours; [SerializeField] Text m_RequireLevel; [SerializeField] RectTransform m_ContainerUnCompose; [SerializeField] RectTransform m_ContainerCompose; [SerializeField] UIEffect m_OneMatEffect; [SerializeField] UIEffect m_TwoMatEffect; @@ -50,10 +53,14 @@ { model.selectCategory = default(GatherSoulComposeModel.ComposeCategory); model.selectItemId = 0; HandleJumpSelect(); Display(); model.onSelectComposeItemChange += OnSelectComposeItemChange; model.onSelectCategoryChange += OnSelectCategoryChange; soulModel.gatherSoulPackRefresh += GatherSoulPackRefresh; soulModel.gatherSoulHolesRefresh += GatherSoulHolesRefresh; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent += MakeItemAnswerEvent; } @@ -63,9 +70,11 @@ protected override void OnPreClose() { model.jumpGatherSoulItem = default(VirtualItem); model.onSelectComposeItemChange -= OnSelectComposeItemChange; model.onSelectCategoryChange -= OnSelectCategoryChange; soulModel.gatherSoulPackRefresh -= GatherSoulPackRefresh; soulModel.gatherSoulHolesRefresh -= GatherSoulHolesRefresh; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent; } @@ -73,13 +82,50 @@ { } #endregion void HandleJumpSelect() { if (!model.jumpGatherSoulItem.Equals(default(VirtualItem))) { var itemId = model.jumpGatherSoulItem.itemId; GatherSoulComposeModel.Compose compose; if (model.ExistInComposeMat(itemId, out compose)) { foreach (var category in model.categoryDict.Keys) { if (model.categoryDict[category].Contains(compose.itemId)) { model.selectCategory = category; model.selectItemId = compose.itemId; break; } } } } } private void GatherSoulHolesRefresh() { if (!model.jumpGatherSoulItem.Equals(default(VirtualItem)) && !soulModel.CheckExist(model.jumpGatherSoulItem)) { model.jumpGatherSoulItem = default(VirtualItem); } DisplayCompose(); } private void GatherSoulPackRefresh() { if (!model.jumpGatherSoulItem.Equals(default(VirtualItem)) && !soulModel.CheckExist(model.jumpGatherSoulItem)) { model.jumpGatherSoulItem = default(VirtualItem); } DisplayCompose(); } private void OnSelectComposeItemChange() { model.jumpGatherSoulItem = default(VirtualItem); m_ScrollerControl.m_Scorller.RefreshActiveCellViews(); DisplayCompose(); DisplayRequireLevel(); @@ -87,6 +133,7 @@ private void OnSelectCategoryChange() { model.jumpGatherSoulItem = default(VirtualItem); DisplaySelect(); if (model.selectCategory.Equals(default(GatherSoulComposeModel.ComposeCategory))) { @@ -162,6 +209,10 @@ for (int k = 0; k < list.Count; k++) { m_ScrollerControl.AddCell(ScrollerDataType.Normal, list[k]); if (model.selectItemId != 0 && model.selectItemId == list[k]) { jumpIndex += k+1; } } } } @@ -193,18 +244,28 @@ } } m_ComposeItem.gameObject.SetActive(matCount > 0); m_ContainerCompose.gameObject.SetActive(matCount > 0); m_ContainerUnCompose.gameObject.SetActive(matCount == 0); if (matCount > 0) { var resolveReturn = 0; for (int i = 0; i < compose.requireItems.Count; i++) { GatherSoulItem item; if (!soulModel.TryGetHighestLevelItem(compose.requireItems[i], out item)) if (compose.requireItems[i] == model.jumpGatherSoulItem.itemId) { resolveReturn = 0; break; resolveReturn += soulModel.GetResolveReturnCost(model.jumpGatherSoulItem.itemId, model.jumpGatherSoulItem.level, true); } resolveReturn += soulModel.GetResolveReturnCost(item.id, item.level, true); else { GatherSoulItem item; if (!soulModel.TryGetHighestLevelItem(compose.requireItems[i], out item)) { resolveReturn = 0; break; } resolveReturn += soulModel.GetResolveReturnCost(item.id, item.level, true); } } var level = 1; if (resolveReturn != 0) @@ -310,11 +371,14 @@ } for (int i = 0; i < compose.requireItems.Count; i++) { GatherSoulItem item; if (!soulModel.TryGetHighestLevelItem(compose.requireItems[i], out item)) if (compose.requireItems[i] != model.jumpGatherSoulItem.itemId) { error = 5; return false; GatherSoulItem item; if (!soulModel.TryGetHighestLevelItem(compose.requireItems[i], out item)) { error = 5; return false; } } } return true; System/GatheringSoul/GatherSoulHoleBehaviour.cs
@@ -97,7 +97,8 @@ var itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>(); var data = new ItemAttrData(item.id); data.SetGatherSoul(item.level, hole); bool requireCompose = composeModel.ExistInComposeMat(item.id); GatherSoulComposeModel.Compose compose; bool requireCompose = composeModel.ExistInComposeMat(item.id, out compose); if (requireCompose) { data.SetTipsFuncBtn(ItemWinBtnType.compose, OnTipFunc); @@ -141,19 +142,29 @@ private void OnTipFunc(ItemWinBtnType funcType, string arg2) { WindowCenter.Instance.CloseImmediately<GatherSoulTipWin>(); switch (funcType) { case ItemWinBtnType.compose: { GatherSoulItem item; if (model.TryGetItem(hole, out item)) { model.HandleSoulTipFunc(funcType, item); } } break; case ItemWinBtnType.putOff: GatherSoulItem item; if (model.TryGetItem(hole, out item)) { model.ExecutePutOffSoul(item); WindowCenter.Instance.CloseImmediately<GatherSoulTipWin>(); GatherSoulItem item; if (model.TryGetItem(hole, out item)) { model.ExecutePutOffSoul(item); } } break; case ItemWinBtnType.LevelUp: WindowCenter.Instance.CloseImmediately<GatherSoulTipWin>(); GatherSoulLevelUpWin.selectHole = hole; WindowCenter.Instance.Open<GatherSoulLevelUpWin>(); break; System/GatheringSoul/GatherSoulItemBehaviour.cs
@@ -148,7 +148,8 @@ data.SetGatherSoul(item.level, -1, PackType.rptGatherSoul, displayItem.index); if (item.itemType != GatheringSoulModel.GATHERSOUL_ESSENCE_TYPE) { bool requireCompose = composeModel.ExistInComposeMat(item.id); GatherSoulComposeModel.Compose outCompose; bool requireCompose = composeModel.ExistInComposeMat(item.id, out outCompose); if (requireCompose) { data.SetTipsFuncBtn(ItemWinBtnType.compose, OnTipFunc); @@ -162,7 +163,7 @@ data.SetTipsFuncBtn(ItemWinBtnType.Replace, OnTipFunc); } GatherSoulComposeModel.Compose compose; if(composeModel.TryGetCompose(item.id,out compose) if (composeModel.TryGetCompose(item.id, out compose) && compose.requireItems.Count > 0) { data.SetTipsFuncBtn(ItemWinBtnType.split, OnTipFunc); System/GatheringSoul/GatherSoulWin.cs
@@ -167,7 +167,7 @@ private void GotoCompose() { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.GatherSoul271); } private void Resolve() System/GatheringSoul/GatheringSoulModel.cs
@@ -649,6 +649,20 @@ switch (type) { case ItemWinBtnType.compose: if (!FuncOpen.Instance.IsFuncOpen(158)) { FuncOpen.Instance.ProcessorFuncErrorTip(158); return; } WindowCenter.Instance.Close<GatherSoulTipWin>(); composeModel.jumpGatherSoulItem = new VirtualItem() { packType = item.placeType == 0 ? PackType.rptGatherSoul : PackType.rptInterimPack, index = item.index, itemId = item.id, level = item.level }; WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.GatherSoul271); break; case ItemWinBtnType.split: case ItemWinBtnType.Resolve: @@ -850,6 +864,27 @@ return same; } public bool CheckExist(VirtualItem item) { if (item.packType == PackType.rptGatherSoul) { GatherSoulItem compare; if (virtualPack.TryGetItem(PackType.rptGatherSoul, item.index, out compare)) { return item.itemId == compare.id && item.level == compare.level; } } else if (item.packType == PackType.rptInterimPack) { GatherSoulItem compare; if (TryGetItem(item.index, out compare)) { return item.itemId == compare.id && item.level == compare.level; } } return false; } public bool TryGetHoleCondition(int hole, out GatherSoulHoleCondition condition) { return holeConditions.TryGetValue(hole, out condition);