提交测试代码
This commit is contained in:
3
Assets/Scripts/Common/Entity.meta
Normal file
3
Assets/Scripts/Common/Entity.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b25d7e65501b49c18f57eec3b4209ad0
|
||||
timeCreated: 1772695059
|
||||
30
Assets/Scripts/Common/Entity/SerializerComponent.cs
Normal file
30
Assets/Scripts/Common/Entity/SerializerComponent.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
// using Fantasy.Entitas;
|
||||
// using Fantasy.Network;
|
||||
// using Fantasy.Serialize;
|
||||
//
|
||||
// namespace NBF
|
||||
// {
|
||||
// public class SerializerComponent : Entity
|
||||
// {
|
||||
// public ISerialize Serialize;
|
||||
// public readonly MemoryStreamBufferPool BufferPool = new MemoryStreamBufferPool();
|
||||
//
|
||||
//
|
||||
// public void Initialize()
|
||||
// {
|
||||
// Serialize = SerializerManager.ProtoBufHelper;
|
||||
// }
|
||||
//
|
||||
// public byte[] Serialize<T>(T @object)
|
||||
// {
|
||||
// using var memoryStreamBuffer = BufferPool.RentMemoryStream(MemoryStreamBufferSource.None);
|
||||
// Serialize.Serialize(typeof(T), @object, memoryStreamBuffer);
|
||||
// return memoryStreamBuffer.ToArray();
|
||||
// }
|
||||
//
|
||||
// public T Deserialize<T>(byte[] bytes)
|
||||
// {
|
||||
// return Serialize.Deserialize<T>(bytes);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
3
Assets/Scripts/Common/Entity/SerializerComponent.cs.meta
Normal file
3
Assets/Scripts/Common/Entity/SerializerComponent.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a4cb7f8b3fe47e0852a2081f714dec4
|
||||
timeCreated: 1772695064
|
||||
@@ -1,4 +1,5 @@
|
||||
using Fantasy;
|
||||
using System.Text;
|
||||
using Fantasy;
|
||||
using Fantasy.Async;
|
||||
using Fantasy.Network;
|
||||
using Fantasy.Network.Interface;
|
||||
@@ -7,17 +8,54 @@ using Log = NBC.Log;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public class Chat2C_MessageHandler : Message<S2C_Message>
|
||||
// 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, S2C_Message message)
|
||||
protected override async FTask Run(Session session, Chat2C_Message message)
|
||||
{
|
||||
Log.Info($"收到一条消息推送,message={message.Msg}");
|
||||
var chatTestPanel = UI.Inst.GetUI<ChatTestPanel>();
|
||||
if (chatTestPanel != null)
|
||||
{
|
||||
chatTestPanel.Message(message.Msg.Content);
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user