feat(player): added PlayerIdleUpdate, which calls PlayerAnimationUpdate

This commit is contained in:
Sara 2023-11-22 20:57:38 +01:00
parent b0a4de6037
commit 1ffbd74a08
2 changed files with 12 additions and 5 deletions

View file

@ -95,10 +95,6 @@ const State* PlayerAnimationUpdate(Player* self, float deltaTime) {
++self->animFrame;
size_t nextFrame = self->animFrame * 8 + self->faceDirection;
sprite_set_tile(self->sprite, nextFrame);
if (nextFrame > spritesheet_get_tile_count(sprite_get_spritesheet(self->sprite))) {
return PlayerIdle();
}
}
return state_machine_get_current_state(self->animationStateMachine);
@ -109,3 +105,13 @@ void PlayerAnimationExit(Player* self) {}
void PlayerIdleEnter(Player* self) {
self->sprite = sprite_from_spritesheet(self->stand, 0);
}
void PlayerIdleUpdate(Player* self, float deltaTime) {
PlayerAnimationUpdate(self, deltaTime);
if(sprite_get_time_normalized(self->sprite)) {
return PlayerIdle();
} else {
return PlayerIdle();
}
}

View file

@ -66,11 +66,12 @@ extern const State* PlayerAnimationUpdate(Player* player, float deltaTime);
extern void PlayerAnimationExit(Player* player);
extern void PlayerIdleEnter(Player* player);
extern void PlayerIdleUpdate(Player* player, float deltaTime);
DefineState(PlayerIdle, Player,
PlayerIdleEnter,
PlayerAnimationExit,
PlayerAnimationUpdate
PlayerIdleUpdate
)
#endif // !TOPDOWN_PLAYER_H