From b7c9a03ca2f13fb277dc3990e24fea6749d1f466 Mon Sep 17 00:00:00 2001 From: danbudworthmead Date: Thu, 12 Nov 2020 02:44:37 +0000 Subject: [PATCH] Snap player to position (#109) * Snap player to position * Update IInnerCustomNetworkTransform.cs --- .../Components/IInnerCustomNetworkTransform.cs | 11 ++++++++++- .../Components/InnerCustomNetworkTransform.Api.cs | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/Impostor.Api/Net/Inner/Objects/Components/IInnerCustomNetworkTransform.cs b/src/Impostor.Api/Net/Inner/Objects/Components/IInnerCustomNetworkTransform.cs index 856e077..d238f37 100644 --- a/src/Impostor.Api/Net/Inner/Objects/Components/IInnerCustomNetworkTransform.cs +++ b/src/Impostor.Api/Net/Inner/Objects/Components/IInnerCustomNetworkTransform.cs @@ -1,6 +1,15 @@ -namespace Impostor.Api.Net.Inner.Objects.Components +using System.Numerics; +using System.Threading.Tasks; + +namespace Impostor.Api.Net.Inner.Objects.Components { public interface IInnerCustomNetworkTransform : IInnerNetObject { + /// + /// Snaps the current to the given position . + /// + /// The target position. + /// Task that must be awaited. + ValueTask SnapTo(Vector2 position); } } diff --git a/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs b/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs index 302bb73..0f848ad 100644 --- a/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs +++ b/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs @@ -1,8 +1,17 @@ -using Impostor.Api.Net.Inner.Objects.Components; +using System.Numerics; +using System.Threading.Tasks; +using Impostor.Api.Net.Inner.Objects.Components; namespace Impostor.Server.Net.Inner.Objects.Components { internal partial class InnerCustomNetworkTransform : IInnerCustomNetworkTransform { + public async ValueTask SnapTo(Vector2 position) + { + var writer = _game.StartRpc(NetId, RpcCalls.SnapTo); + WriteVector2(writer, position); + writer.Write(_lastSequenceId + 5U); + await _game.FinishRpcAsync(writer); + } } } -- 2.39.5