广播聊天测试
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()
|
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.Entity;
|
||||||
using Assets.Scripts.Hotfix;
|
using Assets.Scripts.Hotfix;
|
||||||
using FairyGUI;
|
using FairyGUI;
|
||||||
@@ -12,6 +13,8 @@ namespace NBF
|
|||||||
{
|
{
|
||||||
public partial class ChatTestPanel : UIPanel
|
public partial class ChatTestPanel : UIPanel
|
||||||
{
|
{
|
||||||
|
private List<string> _messages = new List<string>();
|
||||||
|
|
||||||
protected override void OnInit()
|
protected override void OnInit()
|
||||||
{
|
{
|
||||||
this.AutoAddClick(OnClick);
|
this.AutoAddClick(OnClick);
|
||||||
@@ -22,6 +25,18 @@ namespace NBF
|
|||||||
SetLoginState(false);
|
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)
|
private void OnClick(GComponent btn)
|
||||||
{
|
{
|
||||||
if (btn == BtnLogin)
|
if (btn == BtnLogin)
|
||||||
@@ -34,6 +49,10 @@ namespace NBF
|
|||||||
|
|
||||||
OnLoginButtonClick(InputAccount.text).Coroutine();
|
OnLoginButtonClick(InputAccount.text).Coroutine();
|
||||||
}
|
}
|
||||||
|
else if (btn == BtnSendWorld)
|
||||||
|
{
|
||||||
|
OnSendMessage(InputMessage.title).Coroutine();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetLoginState(bool isLogin = false, string account = "")
|
private void SetLoginState(bool isLogin = false, string account = "")
|
||||||
@@ -133,5 +152,27 @@ namespace NBF
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#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_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_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/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>
|
</wpf:ResourceDictionary>
|
||||||
Reference in New Issue
Block a user