Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarActorMovementController.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-06-28 22:52:09 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-06-28 22:52:09 +1000
commit0b7ddd05d19fa320b25ad0f5c968852dc416583d (patch)
tree82dcdaa98157a22c453af124091957dbf162f56c /source/game/StarActorMovementController.cpp
parent0886098242be9e41f351519f8a5958995e8ed9ab (diff)
Add extremely basic controller support (only movement)
Diffstat (limited to 'source/game/StarActorMovementController.cpp')
-rw-r--r--source/game/StarActorMovementController.cpp9
1 files changed, 8 insertions, 1 deletions
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<pair<Vec2F, bool>> 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<EntityAnchorState> anchorSt
if (m_entityAnchor)
setPosition(m_entityAnchor->position);
}
-
+
PathController::PathController(World* world)
: m_world(world), m_edgeTimer(0.0) { }