From 0b7ddd05d19fa320b25ad0f5c968852dc416583d Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Wed, 28 Jun 2023 22:52:09 +1000 Subject: Add extremely basic controller support (only movement) --- source/game/StarActorMovementController.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'source/game/StarActorMovementController.cpp') diff --git a/source/game/StarActorMovementController.cpp b/source/game/StarActorMovementController.cpp index 1b8f0e4..9dc9ef8 100644 --- a/source/game/StarActorMovementController.cpp +++ b/source/game/StarActorMovementController.cpp @@ -446,6 +446,7 @@ ActorMovementController::ActorMovementController(ActorMovementParameters const& m_lastControlJump = false; m_lastControlDown = false; m_targetHorizontalAmbulatingVelocity = 0.0f; + m_moveSpeedMultiplier = 1.0f; resetBaseParameters(parameters); } @@ -696,6 +697,10 @@ Maybe> ActorMovementController::controlPathMove(Vec2F const& p return result; } +void ActorMovementController::setMoveSpeedMultiplier(float scale) { + m_moveSpeedMultiplier = scale; +} + void ActorMovementController::clearControls() { m_controlRotationRate = 0.0f; m_controlAcceleration = Vec2F(); @@ -951,6 +956,8 @@ void ActorMovementController::tickMaster() { : *activeParameters.walkSpeed * activeModifiers.speedModifier); } + m_targetHorizontalAmbulatingVelocity *= m_moveSpeedMultiplier; + if (m_liquidMovement.get()) m_targetHorizontalAmbulatingVelocity *= (1.0f - liquidImpedance); @@ -1102,7 +1109,7 @@ void ActorMovementController::doSetAnchorState(Maybe anchorSt if (m_entityAnchor) setPosition(m_entityAnchor->position); } - + PathController::PathController(World* world) : m_world(world), m_edgeTimer(0.0) { } -- cgit v1.2.3