forked from jaildesigner-jailgames/jaildoctors_dilemma
treballant en la nova clase Player
This commit is contained in:
@@ -23,6 +23,12 @@ class Player {
|
||||
FALLING,
|
||||
};
|
||||
|
||||
enum class Direction {
|
||||
LEFT,
|
||||
RIGHT,
|
||||
STAY
|
||||
};
|
||||
|
||||
struct SpawnData {
|
||||
float x = 0;
|
||||
float y = 0;
|
||||
@@ -105,6 +111,9 @@ class Player {
|
||||
float vx_ = 0.0F; // Velocidad/desplazamiento del jugador en el eje X
|
||||
float vy_ = 0.0F; // Velocidad/desplazamiento del jugador en el eje Y
|
||||
|
||||
Direction wannaGo = Direction::STAY;
|
||||
bool wannaJump = false;
|
||||
|
||||
// --- Variables de estado ---
|
||||
State state_ = State::STANDING; // Estado en el que se encuentra el jugador. Util apara saber si está saltando o cayendo
|
||||
State previous_state_ = State::STANDING; // Estado previo en el que se encontraba el jugador
|
||||
@@ -128,13 +137,20 @@ class Player {
|
||||
std::vector<JA_Sound_t*> jumping_sound_; // Vecor con todos los sonidos del salto
|
||||
std::vector<JA_Sound_t*> falling_sound_; // Vecor con todos los sonidos de la caída
|
||||
|
||||
void handleHorizontalMovement(float delta_time);
|
||||
void handleVerticalMovement(float delta_time);
|
||||
void handleConveyorBelts();
|
||||
void handleShouldFall();
|
||||
void updateState();
|
||||
void moveAndCollide(float delta_time);
|
||||
|
||||
// --- Funciones de inicialización ---
|
||||
void initSprite(const std::string& animations_path); // Inicializa el sprite del jugador
|
||||
void initSounds(); // Inicializa los sonidos de salto y caida
|
||||
void applySpawnValues(const SpawnData& spawn); // Aplica los valores de spawn al jugador
|
||||
|
||||
// --- Funciones de procesamiento de entrada ---
|
||||
void handleInput(float delta_time); // Comprueba las entradas y modifica variables
|
||||
void handleInput(); // Comprueba las entradas y modifica variables
|
||||
|
||||
// --- Funciones de gestión de estado ---
|
||||
void handleState(float delta_time); // Comprueba el estado del jugador y actualiza variables
|
||||
@@ -151,9 +167,9 @@ class Player {
|
||||
void handleSlopeMovement(int direction); // Maneja el movimiento sobre rampas
|
||||
|
||||
// --- Funciones de detección de superficies ---
|
||||
auto isOnFloor() -> bool; // Comprueba si el jugador tiene suelo debajo de los pies
|
||||
auto isOnAutoSurface() -> bool; // Comprueba si el jugador esta sobre una superficie automática
|
||||
auto isOnDownSlope() -> bool; // Comprueba si el jugador está sobre una rampa hacia abajo
|
||||
auto isOnFloor() -> bool; // Comprueba si el jugador tiene suelo debajo de los pies
|
||||
auto isOnConveyorBelt() -> bool; // Comprueba si el jugador esta sobre una superficie automática
|
||||
auto isOnDownSlope() -> bool; // Comprueba si el jugador está sobre una rampa hacia abajo
|
||||
|
||||
// --- Funciones de actualización de geometría ---
|
||||
void updateColliderGeometry(); // Actualiza collider_box y collision points
|
||||
|
||||
Reference in New Issue
Block a user