animation Sync Ready
This commit is contained in:
@@ -72,39 +72,26 @@ export default function animationSync() {
|
||||
return;
|
||||
}
|
||||
|
||||
let playAnim = true;
|
||||
let a = setInterval(function () {
|
||||
let index = mp.game.joaat(string);
|
||||
let animData = animationSyncData.animations[index];
|
||||
|
||||
if (!animData) {
|
||||
clearInterval(a);
|
||||
return;
|
||||
}
|
||||
if (!animData) return;
|
||||
|
||||
let { id, name, animDict, animName, duration, loop, flag } = animData;
|
||||
|
||||
if (playAnim) {
|
||||
loadAnimDict(animDict, function () {
|
||||
mp.players.exists(entity) && 0 !== entity.handle && entity.taskPlayAnim(animDict, animName, 1, 0, duration, parseInt(flag), 0, !1, !1, !1)
|
||||
});
|
||||
playAnim = false;
|
||||
|
||||
let pair = pairData.find(pair => pair.from == string);
|
||||
if (!pair) {
|
||||
clearInterval(a);
|
||||
if (!pair)
|
||||
return;
|
||||
}
|
||||
|
||||
let b = setInterval(function () {
|
||||
string = pair.transitionTo;
|
||||
mp.gui.chat.push("transition to " + string);
|
||||
playAnim = true;
|
||||
let a = setInterval(function () {
|
||||
entity.clearTasksImmediately();
|
||||
clearInterval(b);
|
||||
mp.events.callRemote("CLIENT:AnimPairTransition", entity, pair.transitionTo);
|
||||
clearInterval(a);
|
||||
}, duration);
|
||||
}
|
||||
}, 200);
|
||||
});
|
||||
|
||||
function loadAnimDict(animDict, callback) {
|
||||
|
||||
@@ -31,4 +31,13 @@ namespace ReallifeGamemode.Server.Util
|
||||
player.ResetSharedData("AnimationData");
|
||||
}
|
||||
}
|
||||
|
||||
public class AnimationSyncEvents
|
||||
{
|
||||
[RemoteEvent("CLIENT:AnimPairTransition")]
|
||||
public void AnimPairTransition(Player player, Player target, string transitionTo)
|
||||
{
|
||||
target.SyncAnimation(transitionTo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user