提交修改
This commit is contained in:
38
Assets/Scripts/Handler/Chat2C_MessageHandler.cs
Normal file
38
Assets/Scripts/Handler/Chat2C_MessageHandler.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System.Text;
|
||||
using Fantasy.Async;
|
||||
using Fantasy.Network;
|
||||
using Fantasy.Network.Interface;
|
||||
|
||||
namespace Fantasy
|
||||
{
|
||||
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 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/Handler/Chat2C_MessageHandler.cs.meta
Normal file
11
Assets/Scripts/Handler/Chat2C_MessageHandler.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: afa90e99edd2f4388a789f81ed9a7b33
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user