feat(animation): separated sprite flip logic into helper function
This commit is contained in:
parent
333ada2752
commit
9adfac023f
|
@ -1,6 +1,14 @@
|
|||
#include "PlayerStates.h"
|
||||
#include "Player.h"
|
||||
|
||||
static inline
|
||||
void InternalSpriteFlipWithMovement(Player* self) {
|
||||
if(self->moveInput.x > 0.f)
|
||||
sprite_flip_horizontal(self->sprite, 0);
|
||||
if(self->moveInput.x < -0.1f)
|
||||
sprite_flip_horizontal(self->sprite, 1);
|
||||
}
|
||||
|
||||
void PlayerAnimationExit(Player* self) {}
|
||||
|
||||
void PlayerIdleEnter(Player* self) {
|
||||
|
@ -23,25 +31,20 @@ void PlayerWalk_Enter(Player* self) {
|
|||
}
|
||||
|
||||
const State* PlayerWalk_Update(Player* self, float deltaTime) {
|
||||
rigidbody_set_velocity(self->rigidbody, vmulf(vnormalizedf(self->moveInput), PLAYER_SPEED));
|
||||
|
||||
if(veqf(self->moveInput, ZeroVector))
|
||||
return PlayerIdle();
|
||||
if(self->attackInput)
|
||||
return PlayerJabA();
|
||||
|
||||
if(self->moveInput.x > 0.f)
|
||||
sprite_flip_horizontal(self->sprite, 0);
|
||||
if(self->moveInput.x < -0.1f)
|
||||
sprite_flip_horizontal(self->sprite, 1);
|
||||
|
||||
self->transform.position = vaddf(self->transform.position, vmulff(vmulf(vnormalizedf(self->moveInput), PLAYER_SPEED), deltaTime));
|
||||
|
||||
InternalSpriteFlipWithMovement(self);
|
||||
return PlayerWalk();
|
||||
}
|
||||
|
||||
void PlayerAttackEnter(Player* self) {
|
||||
self->attackInput = 0;
|
||||
|
||||
PlayerWalk_Update(self, 0.f);
|
||||
rigidbody_set_velocity(self->rigidbody, ZeroVector);
|
||||
InternalSpriteFlipWithMovement(self);
|
||||
}
|
||||
|
||||
void PlayerJabA_Enter(Player* self) {
|
||||
|
|
Loading…
Reference in a new issue