From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Assets/Scripts/XMainClient/ArtifactSuitMgr.cs | 83 ++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/ArtifactSuitMgr.cs (limited to 'Client/Assets/Scripts/XMainClient/ArtifactSuitMgr.cs') diff --git a/Client/Assets/Scripts/XMainClient/ArtifactSuitMgr.cs b/Client/Assets/Scripts/XMainClient/ArtifactSuitMgr.cs new file mode 100644 index 00000000..95e3c3a2 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/ArtifactSuitMgr.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class ArtifactSuitMgr + { + public List Suits + { + get + { + return this.m_Suits; + } + } + + private List m_Suits = new List(); + + public ArtifactSuitMgr(ArtifactSuitTable.RowData[] datas) + { + foreach (ArtifactSuitTable.RowData rowData in datas) + { + ArtifactSuit artifactSuit = new ArtifactSuit(); + artifactSuit.Id = rowData.ArtifactSuitID; + artifactSuit.Name = rowData.Name; + artifactSuit.Level = rowData.Level; + artifactSuit.SuitId = rowData.ArtifactSuitID; + artifactSuit.ElementType = rowData.ElementType; + artifactSuit.SuitQuality = rowData.SuitQuality; + artifactSuit.IsCreateShow = (rowData.IsCreateShow != 0); + artifactSuit.effects[1] = default(SeqListRef); + artifactSuit.effects[2] = ((rowData.Effect2.Count > 0) ? rowData.Effect2 : default(SeqListRef)); + artifactSuit.effects[3] = ((rowData.Effect3.Count > 0) ? rowData.Effect3 : default(SeqListRef)); + artifactSuit.effects[4] = ((rowData.Effect4.Count > 0) ? rowData.Effect4 : default(SeqListRef)); + artifactSuit.effects[5] = ((rowData.Effect5.Count > 0) ? rowData.Effect5 : default(SeqListRef)); + artifactSuit.effects[6] = ((rowData.Effect6.Count > 0) ? rowData.Effect6 : default(SeqListRef)); + for (int j = 0; j < artifactSuit.effects.Length; j++) + { + bool flag = artifactSuit.effects[j].Count > 0; + if (flag) + { + artifactSuit.activeCount.Add(j); + artifactSuit.MaxSuitEffectCount = (uint)j; + } + } + this.m_Suits.Add(artifactSuit); + } + } + + public ArtifactSuit GetSuitByArtifactId(uint artifactId) + { + for (int i = 0; i < this.m_Suits.Count; i++) + { + bool flag = this.m_Suits[i].Artifacts.Contains(artifactId); + if (flag) + { + return this.m_Suits[i]; + } + } + return null; + } + + public ArtifactSuit GetSuitBySuitId(uint suitId) + { + for (int i = 0; i < this.m_Suits.Count; i++) + { + bool flag = this.m_Suits[i].Id == suitId; + if (flag) + { + return this.m_Suits[i]; + } + } + return null; + } + + public bool WillChangeEquipedCount(int suitItemID, int newItemID) + { + ArtifactSuit suitByArtifactId = this.GetSuitByArtifactId((uint)suitItemID); + bool flag = suitByArtifactId == null; + return !flag && suitByArtifactId.WillChangeEquipedCount(newItemID, suitItemID); + } + } +} -- cgit v1.1-26-g67d0