feat(player): added PlayerIdleUpdate, which calls PlayerAnimationUpdate
This commit is contained in:
parent
b0a4de6037
commit
1ffbd74a08
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue