DUP-02: snapToHorizontalLane/VerticalLane unificats en snapToLane

Les dues funcions compartien l'algorisme complet — només canvien l'eix
actiu (getPosY/setPosY vs getPosX/setPosX) i els paràmetres del Map.
`snapToLane` pren base, pitch, max_idx i dos member-fn pointers i és
cridat pels dos wrappers amb els valors corresponents.
This commit is contained in:
JailDesigner committed 2026-04-20 17:59:05 +02:00
1 parent 53bf3a1ff2
commit 206ba07a6f
3 files changed
+43 -33

No files matched your search

+9 -1
View File
@@ -55,9 +55,17 @@ class Player : public AnimatedSprite {
// Snap cap al passadís perpendicular a la direcció premuda. Si la caixa
// de col·lisió està a ≤ collision_size/2 d'una lane, s'hi aproxima
// gradualment (a velocitat de moviment). Permet canviar de direcció
// sense haver d'alinear-se píxel-perfect en l'encreuament.
// sense haver d'alinear-se píxel-perfect en l'encreuament. Els dos
// wrappers deleguen a `snapToLane` només canviant l'eix actiu.
void snapToHorizontalLane(float delta_time);
void snapToVerticalLane(float delta_time);
void snapToLane(
float delta_time,
float base,
float pitch,
int max_idx,
float (Player::*get_pos)() const,
void (Player::*set_pos)(float));
Controls controls_;
};