diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2025-05-26 12:58:14 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-26 12:58:14 +1000 |
commit | c020d8b4090383eafd6f4a6ff04e6e59d32bf0cf (patch) | |
tree | 775de11b0a6eaffdab5403032b12b5b56d57d502 /source/game/scripting/StarNetworkedAnimatorLuaBindings.cpp | |
parent | 3a7a5187e6e63e0b47430160d3facb6d99db6005 (diff) | |
parent | 5587b70c9734cacb574b0b4a034ddbd837a29ba7 (diff) |
Merge pull request #244 from WasabiRaptor/networked-animator-improvements
Networked animator improvements
Diffstat (limited to 'source/game/scripting/StarNetworkedAnimatorLuaBindings.cpp')
-rw-r--r-- | source/game/scripting/StarNetworkedAnimatorLuaBindings.cpp | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/source/game/scripting/StarNetworkedAnimatorLuaBindings.cpp b/source/game/scripting/StarNetworkedAnimatorLuaBindings.cpp index dfafeb0..49df283 100644 --- a/source/game/scripting/StarNetworkedAnimatorLuaBindings.cpp +++ b/source/game/scripting/StarNetworkedAnimatorLuaBindings.cpp @@ -8,12 +8,25 @@ namespace Star { LuaCallbacks LuaBindings::makeNetworkedAnimatorCallbacks(NetworkedAnimator* networkedAnimator) { LuaCallbacks callbacks; - callbacks.registerCallbackWithSignature<bool, String, String, bool>( - "setAnimationState", bind(&NetworkedAnimator::setState, networkedAnimator, _1, _2, _3)); + callbacks.registerCallbackWithSignature<bool, String, String, bool, bool>( + "setAnimationState", bind(&NetworkedAnimator::setState, networkedAnimator, _1, _2, _3, _4)); + callbacks.registerCallbackWithSignature<bool, String, String, bool, bool>( + "setLocalAnimationState", bind(&NetworkedAnimator::setLocalState, networkedAnimator, _1, _2, _3, _4)); callbacks.registerCallbackWithSignature<String, String>( "animationState", bind(&NetworkedAnimator::state, networkedAnimator, _1)); callbacks.registerCallbackWithSignature<Json, String, String>( "animationStateProperty", bind(&NetworkedAnimator::stateProperty, networkedAnimator, _1, _2)); + callbacks.registerCallbackWithSignature<Json, String, String>( + "animationStateNextProperty", bind(&NetworkedAnimator::stateNextProperty, networkedAnimator, _1, _2)); + callbacks.registerCallbackWithSignature<int, String>( + "animationStateFrame", bind(&NetworkedAnimator::stateFrame, networkedAnimator, _1)); + callbacks.registerCallbackWithSignature<float, String>( + "animationStateFrameProgress", bind(&NetworkedAnimator::stateFrameProgress, networkedAnimator, _1)); + callbacks.registerCallbackWithSignature<float, String>( + "animationStateTimer", bind(&NetworkedAnimator::stateTimer, networkedAnimator, _1)); + callbacks.registerCallbackWithSignature<bool, String>( + "animationStateReverse", bind(&NetworkedAnimator::stateReverse, networkedAnimator, _1)); + callbacks.registerCallbackWithSignature<void, String, String>( "setGlobalTag", bind(&NetworkedAnimator::setGlobalTag, networkedAnimator, _1, _2)); callbacks.registerCallbackWithSignature<void, String, String, String>( @@ -30,6 +43,7 @@ LuaCallbacks LuaBindings::makeNetworkedAnimatorCallbacks(NetworkedAnimator* netw "currentRotationAngle", bind(&NetworkedAnimator::currentRotationAngle, networkedAnimator, _1)); callbacks.registerCallbackWithSignature<bool, String>( "hasTransformationGroup", bind(&NetworkedAnimator::hasTransformationGroup, networkedAnimator, _1)); + callbacks.registerCallbackWithSignature<void, String, Vec2F>("translateTransformationGroup", bind(&NetworkedAnimator::translateTransformationGroup, networkedAnimator, _1, _2)); callbacks.registerCallback("rotateTransformationGroup", @@ -48,6 +62,27 @@ LuaCallbacks LuaBindings::makeNetworkedAnimatorCallbacks(NetworkedAnimator* netw bind(&NetworkedAnimator::transformTransformationGroup, networkedAnimator, _1, _2, _3, _4, _5, _6, _7)); callbacks.registerCallbackWithSignature<void, String>( "resetTransformationGroup", bind(&NetworkedAnimator::resetTransformationGroup, networkedAnimator, _1)); + + callbacks.registerCallbackWithSignature<void, String, Vec2F>("translateLocalTransformationGroup", + bind(&NetworkedAnimator::translateLocalTransformationGroup, networkedAnimator, _1, _2)); + callbacks.registerCallback("rotateLocalTransformationGroup", + [networkedAnimator](String const& transformationGroup, float rotation, Maybe<Vec2F> const& rotationCenter) { + networkedAnimator->rotateLocalTransformationGroup(transformationGroup, rotation, rotationCenter.value()); + }); + callbacks.registerCallback("scaleLocalTransformationGroup", + [networkedAnimator](LuaEngine& engine, String const& transformationGroup, LuaValue scale, Maybe<Vec2F> const& scaleCenter) { + if (auto cs = engine.luaMaybeTo<Vec2F>(scale)) + networkedAnimator->scaleLocalTransformationGroup(transformationGroup, *cs, scaleCenter.value()); + else + networkedAnimator->scaleLocalTransformationGroup(transformationGroup, engine.luaTo<float>(scale), scaleCenter.value()); + }); + callbacks.registerCallbackWithSignature<void, String, float, float, float, float, float, float>( + "transformLocalTransformationGroup", + bind(&NetworkedAnimator::transformLocalTransformationGroup, networkedAnimator, _1, _2, _3, _4, _5, _6, _7)); + callbacks.registerCallbackWithSignature<void, String>( + "resetLocalTransformationGroup", bind(&NetworkedAnimator::resetLocalTransformationGroup, networkedAnimator, _1)); + + callbacks.registerCallbackWithSignature<void, String, bool>( "setParticleEmitterActive", bind(&NetworkedAnimator::setParticleEmitterActive, networkedAnimator, _1, _2)); callbacks.registerCallbackWithSignature<void, String, float>("setParticleEmitterEmissionRate", @@ -105,6 +140,13 @@ LuaCallbacks LuaBindings::makeNetworkedAnimatorCallbacks(NetworkedAnimator* netw return poly; }); + callbacks.registerCallbackWithSignature<void, String, List<Drawable>>( + "addPartDrawables", bind(&NetworkedAnimator::addPartDrawables, networkedAnimator, _1, _2)); + callbacks.registerCallbackWithSignature<void, String, List<Drawable>>( + "setPartDrawables", bind(&NetworkedAnimator::setPartDrawables, networkedAnimator, _1, _2)); + + callbacks.registerCallbackWithSignature<String, String, String>( + "applyPartTags", bind(&NetworkedAnimator::applyPartTags, networkedAnimator, _1, _2)); return callbacks; } |