广播聊天测试
This commit is contained in:
3
Assets/Scripts/Net/MessageHandler.meta
Normal file
3
Assets/Scripts/Net/MessageHandler.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 513b2467b34d4c159035e59b0f79164c
|
||||
timeCreated: 1754532816
|
||||
20
Assets/Scripts/Net/MessageHandler/Chat2C_MessageHandler.cs
Normal file
20
Assets/Scripts/Net/MessageHandler/Chat2C_MessageHandler.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using NBC;
|
||||
using NBC.Network;
|
||||
using NBC.Network.Interface;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public class Chat2C_MessageHandler : Message<Chat2C_Message>
|
||||
{
|
||||
protected override async FTask Run(Session session, Chat2C_Message message)
|
||||
{
|
||||
Log.Debug($"收到一条消息推送,message={message.Message}");
|
||||
var chatTestPanel = App.UI.GetUI<ChatTestPanel>();
|
||||
if (chatTestPanel != null)
|
||||
{
|
||||
chatTestPanel.Message(message.Message);
|
||||
}
|
||||
await FTask.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4937340a042f4608918a01ecf456b6fe
|
||||
timeCreated: 1754532888
|
||||
@@ -11,5 +11,10 @@ namespace NBF
|
||||
private void OnInited()
|
||||
{
|
||||
}
|
||||
|
||||
public void InitData(string message)
|
||||
{
|
||||
TextMessage.text = message;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
// 本脚本只在不存在时会生成一次。已存在不会再次生成覆盖
|
||||
|
||||
using System.Collections.Generic;
|
||||
using Assets.Scripts.Entity;
|
||||
using Assets.Scripts.Hotfix;
|
||||
using FairyGUI;
|
||||
@@ -12,6 +13,8 @@ namespace NBF
|
||||
{
|
||||
public partial class ChatTestPanel : UIPanel
|
||||
{
|
||||
private List<string> _messages = new List<string>();
|
||||
|
||||
protected override void OnInit()
|
||||
{
|
||||
this.AutoAddClick(OnClick);
|
||||
@@ -22,6 +25,18 @@ namespace NBF
|
||||
SetLoginState(false);
|
||||
}
|
||||
|
||||
private void RefreshList()
|
||||
{
|
||||
ChatList.RemoveChildrenToPool();
|
||||
foreach (var item in _messages)
|
||||
{
|
||||
if(ChatList.AddItemFromPool() is ChatItem chatItem)
|
||||
{
|
||||
chatItem.InitData(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnClick(GComponent btn)
|
||||
{
|
||||
if (btn == BtnLogin)
|
||||
@@ -34,6 +49,10 @@ namespace NBF
|
||||
|
||||
OnLoginButtonClick(InputAccount.text).Coroutine();
|
||||
}
|
||||
else if (btn == BtnSendWorld)
|
||||
{
|
||||
OnSendMessage(InputMessage.title).Coroutine();
|
||||
}
|
||||
}
|
||||
|
||||
private void SetLoginState(bool isLogin = false, string account = "")
|
||||
@@ -133,5 +152,27 @@ namespace NBF
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 发生消息测试
|
||||
|
||||
private async FTask OnSendMessage(string message)
|
||||
{
|
||||
var messageResponse = (Caht2C_SendMessageResponse)await _session.Call(new C2Chat_SendMessageRequest()
|
||||
{
|
||||
Message = message
|
||||
});
|
||||
if (messageResponse.ErrorCode != 0)
|
||||
{
|
||||
Notices.Info($"发送消息失败,code={messageResponse.ErrorCode}");
|
||||
}
|
||||
}
|
||||
|
||||
public void Message(string message)
|
||||
{
|
||||
_messages.Add(message);
|
||||
RefreshList();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -23,5 +23,6 @@
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AVector2Int_002Ecs_002Fl_003AC_0021_003FUsers_003Fbob_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F021f30a9a92b48ce98ae6b39956dd76a1df600_003F23_003F52710087_003FVector2Int_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AVector4_002Ecs_002Fl_003AC_0021_003FUsers_003Fbob_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F021f30a9a92b48ce98ae6b39956dd76a1df600_003F15_003F15f07947_003FVector4_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AVoid_002Ecs_002Fl_003AC_0021_003FUsers_003Fbob_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F314938d17f3848e8ac683e11b27f62ee46ae00_003F6f_003F6fe2b5e6_003FVoid_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/AnalysisEnabled/@EntryValue">VISIBLE_FILES</s:String>
|
||||
|
||||
</wpf:ResourceDictionary>
|
||||
Reference in New Issue
Block a user