Net.BITKit.Teleport/Src/GenClass.cs

37 lines
1.3 KiB
C#
Raw Permalink Normal View History

2025-07-05 17:19:53 +08:00
using Net.BITKit.Teleport;
using System;
using Cysharp.Threading.Tasks;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using BITKit;
using MemoryPack;
public class @IMyRemoteInterfaceGen : IMyRemoteInterface
{
public INetProvider NetProvider;
public String Func( String name) { using var ms = new MemoryStream();
using var writer = new BinaryWriter(ms);
writer.Write((byte)NetCommandType.Rpc);
writer.Write(++NetProvider.RpcCount);
writer.Write("Net.BITKit.Teleport.IMyRemoteInterface");
writer.Write("Func");
RemoteInterfaceGenerator.Serialize(writer,name);
NetProvider.Invoke(0,ms.ToArray());
return default;
}
public async UniTask<String> FuncAsync( String name) { using var ms = new MemoryStream();
using var writer = new BinaryWriter(ms);
writer.Write((byte)NetCommandType.Rpc);
writer.Write(++NetProvider.RpcCount);
writer.Write("Net.BITKit.Teleport.IMyRemoteInterface");
writer.Write("FuncAsync");
RemoteInterfaceGenerator.Serialize(writer,name);
var bytes =await NetProvider.InvokeAsync(0, ms.ToArray());
return MemoryPackSerializer.Deserialize<String>(bytes);
return null;
}
}