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/XFlowerReplyView.cs | 219 +++++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XFlowerReplyView.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XFlowerReplyView.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XFlowerReplyView.cs b/Client/Assets/Scripts/XMainClient/UI/XFlowerReplyView.cs new file mode 100644 index 00000000..34f6c083 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XFlowerReplyView.cs @@ -0,0 +1,219 @@ +using System; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class XFlowerReplyView : DlgBase + { + public override string fileName + { + get + { + return "GameSystem/FlowerReply"; + } + } + + public override int layer + { + get + { + return 100; + } + } + + public override bool autoload + { + get + { + return true; + } + } + + public override bool isHideChat + { + get + { + return false; + } + } + + public override bool isHideTutorial + { + get + { + return true; + } + } + + public Action OnClosed; + + private XFlowerReplyDocument _Doc; + + private int _flowerID; + + private ulong _senderID; + + private string _senderName; + + private int _senderPower; + + private int _senderProfession; + + private int _senderVip; + + private int _sendCount; + + private Vector2 m_DragDistance = Vector2.zero; + + private bool m_CancelRecord = false; + + public void ShowView(int itemID, ulong senderID, string senderName, int senderPower, int senderProfession, int senderVip, int sendCount) + { + this._flowerID = itemID; + this._senderID = senderID; + this._senderName = senderName; + this._senderPower = senderPower; + this._senderProfession = senderProfession; + this._senderVip = senderVip; + this._sendCount = sendCount; + this.SetVisibleWithAnimation(true, null); + } + + protected override void Init() + { + this._Doc = XDocuments.GetSpecificDocument(XFlowerReplyDocument.uuID); + this._Doc.View = this; + } + + protected override void OnShow() + { + base.OnShow(); + this.UpdateReplyBg(); + base.uiBehaviour.m_SpeakPanel.gameObject.SetActive(false); + base.uiBehaviour.m_SenderName.SetText(this._senderName); + base.uiBehaviour.m_SenderCount.SetText(this._sendCount.ToString()); + base.uiBehaviour.m_FlowerName.SetText(XSingleton.singleton.ChooseProfString(XBagDocument.GetItemConf(this._flowerID).ItemName, 0u)); + base.uiBehaviour.m_ThxContent.SetText(this._Doc.GetThxContent(this._flowerID, this._sendCount)); + } + + private void UpdateReplyBg() + { + int num = this._flowerID - XFastEnumIntEqualityComparer.ToInt(ItemEnum.FLOWER_RED_ROSE); + for (int i = 0; i < base.uiBehaviour.m_ReplayBgList.Count; i++) + { + base.uiBehaviour.m_ReplayBgList[i].SetActive(i == num); + } + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + base.uiBehaviour.m_Close.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnCloseClicked)); + base.uiBehaviour.m_Voice.RegisterPressEventHandler(new ButtonPressEventHandler(this.OnVoicePressButton)); + base.uiBehaviour.m_Voice.RegisterDragEventHandler(new ButtonDragEventHandler(this.OnVoiceDragButton)); + base.uiBehaviour.m_QuickThx.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnReplyClicked)); + } + + private bool OnReplyClicked(IXUIButton button) + { + DlgBase.singleton.ChatFriendId = this._senderID; + ChatInfo chatInfo = new ChatInfo(); + chatInfo.mTime = DateTime.Now; + chatInfo.isSelfSender = true; + chatInfo.mReceiverName = this._senderName; + chatInfo.mReceiverId = this._senderID; + chatInfo.mReciverPowerPoint = (uint)this._senderPower; + chatInfo.mRecieverProfession = (uint)this._senderProfession; + chatInfo.mReceiverVip = (uint)this._senderVip; + XChatDocument specificDocument = XDocuments.GetSpecificDocument(XChatDocument.uuID); + specificDocument.AddChatinfo2FriendList(chatInfo); + DlgBase.singleton.SendChatContent(XStringDefineProxy.GetString("FLOWER_QUICK_THX"), ChatChannelType.Friends, true, null, false, 0UL, 0f, false, false); + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("INVITATION_SENT_NOTIFICATION"), "fece00"); + this.CloseDlg(); + return true; + } + + private void CloseDlg() + { + this.SetVisibleWithAnimation(false, null); + } + + protected override void OnHide() + { + base.OnHide(); + bool flag = this.OnClosed != null; + if (flag) + { + this.OnClosed(); + } + } + + private void OnCloseClicked(IXUISprite go) + { + this.CloseDlg(); + } + + private void OnVoicePressButton(IXUIButton button, bool state) + { + if (state) + { + this.m_DragDistance = Vector2.zero; + bool useApollo = XChatDocument.UseApollo; + if (useApollo) + { + XSingleton.singleton.StartRecord(VoiceUsage.FLOWER_REPLY, null); + } + else + { + XSingleton.singleton.StartRecord(VoiceUsage.FLOWER_REPLY, null); + } + } + else + { + DlgBase.singleton.ChatFriendId = this._senderID; + ChatInfo chatInfo = new ChatInfo(); + chatInfo.mTime = DateTime.Now; + chatInfo.isSelfSender = true; + chatInfo.mReceiverName = this._senderName; + chatInfo.mReceiverId = this._senderID; + chatInfo.mReciverPowerPoint = (uint)this._senderPower; + chatInfo.mRecieverProfession = (uint)this._senderProfession; + chatInfo.mReceiverVip = (uint)this._senderVip; + XChatDocument specificDocument = XDocuments.GetSpecificDocument(XChatDocument.uuID); + specificDocument.AddChatinfo2FriendList(chatInfo); + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("INVITATION_SENT_NOTIFICATION"), "fece00"); + bool useApollo2 = XChatDocument.UseApollo; + if (useApollo2) + { + XSingleton.singleton.StopRecord(this.m_CancelRecord); + } + else + { + XSingleton.singleton.StopRecord(this.m_CancelRecord); + } + bool flag = !this.m_CancelRecord; + if (flag) + { + this.CloseDlg(); + } + } + } + + private void OnVoiceDragButton(IXUIButton button, Vector2 delta) + { + this.m_DragDistance += delta; + bool flag = this.m_DragDistance.magnitude >= 100f; + if (flag) + { + this.m_CancelRecord = true; + } + else + { + this.m_CancelRecord = false; + } + } + } +} -- cgit v1.1-26-g67d0