try AnimSync

This commit is contained in:
2021-04-06 22:26:26 +02:00
parent 0ea74f1b20
commit 441a483c8e
3 changed files with 33 additions and 19 deletions

View File

@@ -8,11 +8,24 @@ namespace ReallifeGamemode.Server.Util
{
public static class AnimationSync
{
public static void SyncAnimation(this Player player, dynamic animationName)
public static void SyncAnimation(this Player player, dynamic animations)
{
if (!player.HasData("Animation"))
player.SetData("Animation", String.Empty);
string animationName;
if (animations is List<string>)
{
animationName = animations.get(0);
List<string> nextAnimations = animations.Skip(1);
player.TriggerEvent("SERVER:QueueAnimations", nextAnimations.ToArray(), animationName);
}
else
{
animationName = animations;
}
string currentAnimation = player.GetData<string>("Animation");
string newAnimation = animationName;
@@ -52,9 +65,9 @@ namespace ReallifeGamemode.Server.Util
public class AnimationSyncEvents : Script
{
[RemoteEvent("CLIENT:AnimPairTransition")]
public void AnimPairTransition(Player player, Player target, string transitionTo)
public void AnimPairTransition(Player player, string[] transitionTo)
{
target.SyncAnimation(transitionTo);
player.SyncAnimation(transitionTo.ToList<string>());
}
[RemoteEvent("CLIENT:ClearAnimationData")]