private void OnButton2Pressed() { Console.WriteLine("OnButton2Pressed"); var host = new ClientWorldHost(); world = host.ServiceProvider.GetRequiredService <ClientWorld>(); var loggerFactory = host.ServiceProvider.GetService <ILoggerFactory>(); var logger = loggerFactory.CreateLogger <MyControl>(); // Unity: // GameObject[] prefabs // var go = Instantiate(prefabs[archetypeId]) // go.GetComponent<Controlled/Dummy/MimicEntityBehaviour>().Controlled/Dummy/MimicEntity = entity; host.Client_OnControlledCreated += entity => { logger.LogInformation($"ControlledCreated entity: {entity.Id} ArchetypeId: {entity.State.ArchetypeId}"); var scene = GD.Load <PackedScene>("res://Entities/ControlledEntitySpatial.tscn"); var node = scene.Instance() as ControlledEntitySpatial; node.Entity = entity; var parent = GetParent <Node>() as MySpatial; parent.AddChild(node); }; host.Client_OnDummyCreated += entity => { logger.LogInformation($"DummyCreated entity: {entity.Id} ArchetypeId: {entity.State.ArchetypeId}"); var scene = GD.Load <PackedScene>("res://Entities/DummyEntitySpatial.tscn"); var node = scene.Instance() as DummyEntitySpatial; node.Entity = entity; var parent = GetParent <Node>() as MySpatial; parent.AddChild(node); }; host.Client_OnMimicCreated += entity => { logger.LogInformation($"MimicCreated entity: {entity.Id} ArchetypeId: {entity.State.ArchetypeId}"); var scene = GD.Load <PackedScene>("res://Entities/MimicEntitySpatial.tscn"); var node = scene.Instance() as MimicEntitySpatial; node.Entity = entity; var parent = GetParent <Node>() as MySpatial; parent.AddChild(node); }; host.Client_OnGameActionEvent += evnt => { //logger.LogWarning($"evnt {evnt.Key}"); }; NetConfig.LatencySimulation = true; network = new NetCore("NetDemo1.0", false); network.PeerConnected += (peer, token) => { Console.WriteLine($"PeerConnected peer: {peer.EndPoint} token: {token}"); var wrapper = new MiniUDPConnection(peer); world.SetConnection(wrapper); }; network.PeerClosed += (peer, reason, userKickReason, error) => { Console.WriteLine($"PeerClosed peer: {peer.EndPoint} reason: {reason} userKickReason: {userKickReason} error: {error}"); }; network.PeerPayload += (peer, data, dataLength) => { //Console.WriteLine($"PeerPayload data: {data} dataLength: {dataLength}"); receivedThisFrame += dataLength; }; network.PeerNotification += (peer, data, dataLength) => { //Console.WriteLine($"PeerNotification data: {data} dataLength: {dataLength}"); }; logger.LogInformation("Client Connecting..."); var _peer = network.Connect(NetUtil.StringToEndPoint("127.0.0.1:44325"), "SampleAuthToken"); logger.LogInformation("Client Connected."); //network.Stop(); }