Files
Fishing2/Assets/Scripts/Common/Net/MessageHandler/Chat2C_MessageHandler.cs
2026-03-06 12:15:56 +08:00

61 lines
2.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System.Text;
using Fantasy;
using Fantasy.Async;
using Fantasy.Network;
using Fantasy.Network.Interface;
using NBC;
using Log = NBC.Log;
namespace NBF
{
// public class Chat2C_MessageHandler : Message<S2C_Message>
// {
// protected override async FTask Run(Session session, S2C_Message message)
// {
// Log.Info($"收到一条消息推送message={message.Msg}");
// var chatTestPanel = UI.Inst.GetUI<ChatTestPanel>();
// if (chatTestPanel != null)
// {
// chatTestPanel.Message(message.Msg.Content);
// }
// await FTask.CompletedTask;
// }
// }
public sealed class Chat2C_MessageHandler : Message<Chat2C_Message>
{
protected override async FTask Run(Session session, Chat2C_Message message)
{
ChatTreeParser.Parse(session.Scene,message.ChatInfoTree);
Log.Info("收到聊天信息:");
await FTask.CompletedTask;
}
}
public static class ChatTreeParser
{
public static void Parse(Scene scene, ChatInfoTree tree)
{
// var entryComponent = scene.GetComponent<EntryComponent>();
var chatTestPanel = UI.Inst.GetUI<ChatTestPanel>();
if (chatTestPanel != null)
{
chatTestPanel.Message(tree);
}
// var sb = new StringBuilder();
// foreach (var chatInfoNode in tree.Node)
// {
// // 这里只是演示一下处理事件的效果,实际使用时,需要根据实际情况处理事件
// // 明显我现在这样做的方式不是对的,应该是自己拼接一个聊天信息,然后调用这个接口来处理事件
// entryComponent.Entry.ChatNodeEventButton.onClick.RemoveAllListeners();
// entryComponent.Entry.ChatNodeEventButton.onClick.AddListener(() =>
// {
// ChatNodeEventHelper.Handler(scene, chatInfoNode);
// });
// sb.Append(chatInfoNode.Content);
// }
// entryComponent.Entry.MessageText.text = sb.ToString();
}
}
}