From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/ArtifactInscriptionDocument.cs | 224 +++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/ArtifactInscriptionDocument.cs (limited to 'Client/Assets/Scripts/XMainClient/ArtifactInscriptionDocument.cs') diff --git a/Client/Assets/Scripts/XMainClient/ArtifactInscriptionDocument.cs b/Client/Assets/Scripts/XMainClient/ArtifactInscriptionDocument.cs new file mode 100644 index 00000000..3ef45d1a --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/ArtifactInscriptionDocument.cs @@ -0,0 +1,224 @@ +using System; +using KKSG; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class ArtifactInscriptionDocument : XDocComponent + { + public override uint ID + { + get + { + return ArtifactInscriptionDocument.uuID; + } + } + + public static ArtifactInscriptionDocument Doc + { + get + { + return XSingleton.singleton.Doc.GetXComponent(ArtifactInscriptionDocument.uuID) as ArtifactInscriptionDocument; + } + } + + public ulong ArtifactUid + { + get + { + return this.m_artifactUid; + } + } + + public ulong InscriptionUid + { + get + { + return this.m_inscriptionUid; + } + } + + public ulong LastSelectUid + { + get + { + return this.m_lastSelectUid; + } + } + + public new static readonly uint uuID = XSingleton.singleton.XHash("ArtifactInscriptionDocument"); + + public static XTableAsyncLoader AsyncLoader = new XTableAsyncLoader(); + + private ulong m_artifactUid = 0UL; + + private ulong m_inscriptionUid = 0UL; + + public ArtifactInscriptionHandler Handler; + + private ulong m_lastSelectUid = 0UL; + + public static void Execute(OnLoadedCallback callback = null) + { + ArtifactInscriptionDocument.AsyncLoader.Execute(callback); + } + + public override void OnAttachToHost(XObject host) + { + base.OnAttachToHost(host); + } + + protected override void EventSubscribe() + { + base.EventSubscribe(); + } + + public override void OnDetachFromHost() + { + base.OnDetachFromHost(); + } + + protected override void OnReconnected(XReconnectedEventArgs arg) + { + bool flag = this.m_artifactUid > 0UL; + if (flag) + { + XItem itemByUID = XBagDocument.BagDoc.GetItemByUID(this.m_artifactUid); + bool flag2 = itemByUID == null; + if (flag2) + { + this.m_artifactUid = 0UL; + } + } + bool flag3 = this.m_inscriptionUid > 0UL; + if (flag3) + { + XItem itemByUID2 = XBagDocument.BagDoc.GetItemByUID(this.m_inscriptionUid); + bool flag4 = itemByUID2 == null; + if (flag4) + { + this.m_inscriptionUid = 0UL; + } + } + this.RefreshUi(); + } + + public override void OnEnterSceneFinally() + { + base.OnEnterSceneFinally(); + } + + public void RefreshUi() + { + bool flag = this.Handler != null && this.Handler.IsVisible(); + if (flag) + { + this.Handler.RefreshUi(); + } + ArtifactDeityStoveDocument.Doc.RefreshUi(); + } + + public bool IsSelectUid(ulong uid) + { + return this.m_artifactUid == uid || this.m_inscriptionUid == uid; + } + + public void ResetSelectUid(bool isRefeshUi) + { + this.m_artifactUid = 0UL; + this.m_inscriptionUid = 0UL; + if (isRefeshUi) + { + this.RefreshUi(); + } + } + + public void AddItem(ulong uid) + { + XItem itemByUID = XBagDocument.BagDoc.GetItemByUID(uid); + bool flag = itemByUID == null; + if (!flag) + { + ulong num = 0UL; + bool flag2 = itemByUID.Type == ItemType.ARTIFACT; + if (flag2) + { + num = this.m_artifactUid; + this.m_artifactUid = uid; + } + else + { + bool flag3 = itemByUID.Type == ItemType.Inscription; + if (flag3) + { + num = this.m_inscriptionUid; + this.m_inscriptionUid = uid; + } + else + { + XSingleton.singleton.AddGreenLog("type error!", null, null, null, null, null); + } + } + bool flag4 = num > 0UL; + if (flag4) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FuseRepleaseSuc"), "fece00"); + } + this.RefreshUi(); + } + } + + public void TakeOut(ulong uid) + { + bool flag = uid == this.m_artifactUid; + if (flag) + { + this.m_artifactUid = 0UL; + } + else + { + bool flag2 = uid == this.m_inscriptionUid; + if (!flag2) + { + XSingleton.singleton.AddGreenLog("this item not put in uid = " + uid.ToString(), null, null, null, null, null); + return; + } + this.m_inscriptionUid = 0UL; + } + this.RefreshUi(); + } + + public void ReqInscription() + { + this.m_lastSelectUid = this.m_artifactUid; + RpcC2G_ArtifactDeityStoveOp rpcC2G_ArtifactDeityStoveOp = new RpcC2G_ArtifactDeityStoveOp(); + rpcC2G_ArtifactDeityStoveOp.oArg.type = ArtifactDeityStoveOpType.ArtifactDeityStove_Inscription; + rpcC2G_ArtifactDeityStoveOp.oArg.uid1 = this.m_artifactUid; + rpcC2G_ArtifactDeityStoveOp.oArg.uid2 = this.m_inscriptionUid; + XSingleton.singleton.Send(rpcC2G_ArtifactDeityStoveOp); + } + + public void OnReqInscriptionBack(ArtifactDeityStoveOpRes oRes) + { + bool flag = oRes.errorcode > ErrorCode.ERR_SUCCESS; + if (flag) + { + XSingleton.singleton.ShowSystemTip(oRes.errorcode, "fece00"); + } + else + { + XSingleton.singleton.ShowSystemTip(XSingleton.singleton.GetString("Inscription"), "fece00"); + this.ResetSelectUid(true); + } + } + + public void ResetSetting() + { + DlgBase.singleton.ForceSetTipsValue(XTempTipDefine.OD_INSCRIPTION_CONFIRM, false); + XOptionsDocument specificDocument = XDocuments.GetSpecificDocument(XOptionsDocument.uuID); + specificDocument.SetValue(XOptionsDefine.OD_NO_INSCRIPTION_CONFIRM, 0, true); + } + } +} -- cgit v1.1-26-g67d0