From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/UI/XWeddingDramaOperate.cs | 291 +++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XWeddingDramaOperate.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XWeddingDramaOperate.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XWeddingDramaOperate.cs b/Client/Assets/Scripts/XMainClient/UI/XWeddingDramaOperate.cs new file mode 100644 index 00000000..5f33d5fc --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XWeddingDramaOperate.cs @@ -0,0 +1,291 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class XWeddingDramaOperate : XDramaOperate + { + private XDramaOperateParam _param; + + private XWeddingDocument doc; + + public override void ShowNpc(XNpc npc) + { + base.ShowNpc(npc); + this.doc = XDocuments.GetSpecificDocument(XWeddingDocument.uuID); + this._param = XDataPool.GetData(); + this._param.Npc = npc; + XWeddingDocument.Doc.SendMarriageRelationInfo(); + } + + public void RefreshOperateStatus() + { + switch (this.doc.GetMyMarriageRelation()) + { + case MarriageStatus.MarriageStatus_Marriaged: + { + this._param.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Pupil"); + string @string = XStringDefineProxy.GetString("Wedding_Npc_HoldFeast"); + this._param.AppendButton(@string, new ButtonClickEventHandler(this.ToHoldWeddingFeast), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_BreakMarriage"), new ButtonClickEventHandler(this.ToBreakMarriage), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_JoinWedding"), new ButtonClickEventHandler(this.EnterMarriageScene), 0UL); + break; + } + case MarriageStatus.MarriageStatus_WeddingHoldingNoCar: + this._param.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Pupil"); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_InviteFriends"), new ButtonClickEventHandler(this.ToInviteFriends), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_JoinWedding"), new ButtonClickEventHandler(this.EnterMarriageScene), 0UL); + break; + case MarriageStatus.MarriageStatus_WeddingHoldedNoCar: + this._param.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Pupil"); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_BreakMarriage"), new ButtonClickEventHandler(this.ToBreakMarriage), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_JoinWedding"), new ButtonClickEventHandler(this.EnterMarriageScene), 0UL); + break; + case MarriageStatus.MarriageStatus_WeddingCarNoWedding: + this._param.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Pupil"); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_HoldFeast"), new ButtonClickEventHandler(this.ToHoldWeddingFeast), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_BreakMarriage"), new ButtonClickEventHandler(this.ToBreakMarriage), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_JoinWedding"), new ButtonClickEventHandler(this.EnterMarriageScene), 0UL); + break; + case MarriageStatus.MarriageStatus_WeddingHoldingAndCar: + this._param.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Pupil"); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_InviteFriends"), new ButtonClickEventHandler(this.ToInviteFriends), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_JoinWedding"), new ButtonClickEventHandler(this.EnterMarriageScene), 0UL); + break; + case MarriageStatus.MarriageStatus_WeddingHoldedAndCar: + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_JoinWedding"), new ButtonClickEventHandler(this.EnterMarriageScene), 0UL); + this._param.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Pupil"); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_BreakMarriage"), new ButtonClickEventHandler(this.ToBreakMarriage), 0UL); + break; + case MarriageStatus.MarriageStatus_DivorceApply: + this._param.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Pupil"); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_CancelBreak"), new ButtonClickEventHandler(this.ClickToCancel), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_JoinWedding"), new ButtonClickEventHandler(this.EnterMarriageScene), 0UL); + break; + case MarriageStatus.MarriageStatus_Divorced: + this._param.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Pupil"); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_JoinWedding"), new ButtonClickEventHandler(this.EnterMarriageScene), 0UL); + break; + default: + this._param.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Pupil"); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_Abount"), new ButtonClickEventHandler(this.ToKnowMarriage), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_ToMarry"), new ButtonClickEventHandler(this.ToGetMarriage), 0UL); + this._param.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_JoinWedding"), new ButtonClickEventHandler(this.EnterMarriageScene), 0UL); + break; + } + base._FireEvent(this._param); + } + + private bool ClickToCancel(IXUIButton button) + { + XDramaOperateParam data = XDataPool.GetData(); + this._param.Text = XStringDefineProxy.GetString("WeddingSelectToCancel"); + RoleOutLookBrief partnerInfo = this.doc.GetPartnerInfo(); + bool flag = partnerInfo != null && this.doc.DivorceApplyID == XSingleton.singleton.XPlayerData.RoleID; + if (flag) + { + XDramaOperateList xdramaOperateList = this._param.AppendList(partnerInfo.name, new SpriteClickEventHandler(this.ToCancelApplyDivorce), partnerInfo.roleid); + xdramaOperateList.TargetTime = (float)this.doc.LeftDivorceTime; + } + else + { + this._param.Text = XStringDefineProxy.GetString("ERR_MARRIAGE_ONLY_APPLIER_CANCLEDIVORCE"); + } + base._FireEvent(data); + return true; + } + + private void ToCancelApplyDivorce(IXUISprite uiSprite) + { + string message = XSingleton.singleton.ReplaceReturn(XSingleton.singleton.GetString("WeddingCancelBreakTip")); + XSingleton.singleton.ShowModalDialog(message, new ButtonClickEventHandler(this.ToSendCancelApplyDivorce)); + } + + private bool ToSendCancelApplyDivorce(IXUIButton button) + { + XSingleton.singleton.CloseModalDlg(); + XWeddingDocument.Doc.SendMarriageOp(MarriageOpType.MarriageOpType_DivorceCancel, WeddingType.WeddingType_Normal, 0UL); + return true; + } + + private bool ToBreakMarriage(IXUIButton button) + { + int @int = XSingleton.singleton.GetInt("MarriageFreeDivorceDay"); + bool flag = XWeddingDocument.Doc.CoupleOfflineTime < @int * 60 * 60 * 24; + string message; + if (flag) + { + RoleOutLookBrief partnerInfo = XWeddingDocument.Doc.GetPartnerInfo(); + SeqList sequenceList = XSingleton.singleton.GetSequenceList("MarriageDivorceCost", true); + int itemID = sequenceList[0, 0]; + int num = sequenceList[0, 1]; + string arg = num + XBagDocument.GetItemConf(itemID).ItemName[0]; + message = string.Format(XSingleton.singleton.ReplaceReturn(XSingleton.singleton.GetString("Wedding_Npc_ToBreakTip")), arg, (partnerInfo == null) ? "" : partnerInfo.name); + } + else + { + message = XSingleton.singleton.ReplaceReturn(XSingleton.singleton.GetString("WeddingBreakFreeCostTip")); + } + XSingleton.singleton.ShowModalDialog(message, new ButtonClickEventHandler(this.ToSendBreakMarriage)); + return true; + } + + private bool ToSendBreakMarriage(IXUIButton button) + { + XSingleton.singleton.CloseModalDlg(); + XWeddingDocument.Doc.SendMarriageOp(MarriageOpType.MarriageOpType_Divorce, WeddingType.WeddingType_Normal, 0UL); + return true; + } + + private string GetCostString(string global) + { + SeqList sequenceList = XSingleton.singleton.GetSequenceList(global, true); + int itemID = sequenceList[0, 0]; + int num = sequenceList[0, 1]; + return num + "X" + XBagDocument.GetItemConf(itemID).ItemName[0]; + } + + private bool ToGetWeddingCar(IXUIButton button) + { + XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("WeddingCarConfirmTip"), new ButtonClickEventHandler(this.ToSendWeddingCar)); + return true; + } + + private bool ToSendWeddingCar(IXUIButton button) + { + XSingleton.singleton.CloseModalDlg(); + XWeddingDocument.Doc.SendWeddingCar(); + return true; + } + + private bool ToInviteFriends(IXUIButton button) + { + DlgBase.singleton.SetVisibleWithAnimation(true, null); + return true; + } + + private bool EnterMarriageScene(IXUIButton button) + { + DlgBase.singleton.SetVisibleWithAnimation(true, null); + return true; + } + + private bool ToHoldBetterWedding(IXUIButton button) + { + bool flag = this.IsAvailableTeam(); + if (flag) + { + DlgBase.singleton.RefreshUI(WeddingType.WeddingType_Luxury); + } + return true; + } + + private bool ToSendBetterWedding(IXUIButton button) + { + XSingleton.singleton.CloseModalDlg(); + XWeddingDocument.Doc.SendMarriageOp(MarriageOpType.MarriageOpType_MarryApply, WeddingType.WeddingType_Luxury, 0UL); + return true; + } + + private bool ToHoldNormalWedding(IXUIButton button) + { + bool flag = this.IsAvailableTeam(); + if (flag) + { + DlgBase.singleton.RefreshUI(WeddingType.WeddingType_Normal); + } + return true; + } + + private bool IsAvailableTeam() + { + XTeamDocument specificDocument = XDocuments.GetSpecificDocument(XTeamDocument.uuID); + bool bInTeam = specificDocument.bInTeam; + if (bInTeam) + { + List members = specificDocument.MyTeam.members; + bool flag = members.Count == 2 && XSingleton.singleton.IsOppositeSex((int)members[0].profession, (int)members[1].profession); + if (flag) + { + return true; + } + } + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("ERR_WEDDING_NEED_TWO_MARRIAGE"), "fece00"); + return false; + } + + private bool ToSendNormalWedding(IXUIButton button) + { + XSingleton.singleton.CloseModalDlg(); + XWeddingDocument.Doc.SendMarriageOp(MarriageOpType.MarriageOpType_MarryApply, WeddingType.WeddingType_Normal, 0UL); + return true; + } + + private bool ToHoldWeddingFeast(IXUIButton button) + { + XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("WeddingFeastOnlyOnce"), new ButtonClickEventHandler(this.ToSendReqWedding)); + return true; + } + + private bool ToSendReqWedding(IXUIButton button) + { + XSingleton.singleton.CloseModalDlg(); + XWeddingDocument.Doc.ReqHoldWedding(); + return true; + } + + private bool ToGetMarriage(IXUIButton button) + { + XDramaOperateParam data = XDataPool.GetData(); + data.Text = XStringDefineProxy.GetString("MentorshipNpcDialog_0_Master"); + data.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_NormalWedding"), new ButtonClickEventHandler(this.ToHoldNormalWedding), 0UL); + data.AppendButton(XStringDefineProxy.GetString("Wedding_Npc_BetterWedding"), new ButtonClickEventHandler(this.ToHoldBetterWedding), 0UL); + base._FireEvent(data); + return true; + } + + private bool ToKnowMarriage(IXUIButton button) + { + string text = XSingleton.singleton.ReplaceReturn(XSingleton.singleton.GetString("WeddingRule")); + text = text.Replace("{s}", " "); + XSingleton.singleton.ShowModalDialog(text, XStringDefineProxy.GetString("COMMON_OK"), new ButtonClickEventHandler(this.ToCloseMarriageIntro), 50); + return true; + } + + private bool ToCloseMarriageIntro(IXUIButton button) + { + XSingleton.singleton.CloseModalDlg(); + return true; + } + + public void RefreshMarriageOp(MarriageRelationOpArg oarg, MarriageRelationOpRes oRes) + { + XDramaOperateParam data = XDataPool.GetData(); + bool flag = oRes.error == ErrorCode.ERR_SUCCESS; + if (flag) + { + switch (oarg.opType) + { + case MarriageOpType.MarriageOpType_MarryApply: + data.Text = XSingleton.singleton.GetString("WeddingApplySucceed"); + break; + case MarriageOpType.MarriageOpType_Divorce: + data.Text = XSingleton.singleton.GetString("WeddingDivorceSendSuccess"); + break; + case MarriageOpType.MarriageOpType_DivorceCancel: + data.Text = XStringDefineProxy.GetString("WeddingDivorceCancelSuccess"); + break; + } + } + else + { + data.Text = XStringDefineProxy.GetString(oRes.error); + } + base._FireEvent(data); + } + } +} -- cgit v1.1-26-g67d0