Implement player lifecycle hooks (on_connect, on_login, on_logout, on_disconnect, on_death, on_respawn, on_room_change) #85
Labels
No labels
Blocked
Duplicate
MoSCoW/Could Have
MoSCoW/Must Have
MoSCoW/Should Have
Points/1
Points/13
Points/2
Points/21
Points/3
Points/5
Points/8
Priority/Backlog
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
State/Completed
State/In progress
State/In review
State/Paused
State/Unverified
State/Verified
State/Wont Do
Type/Bug
Type/Epic
Type/Feature
Type/Legendary
Type/Task
Type/Testing
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#82 Epic: Lifecycle Hook System
aethyr/Aethyr
Reference: aethyr/Aethyr#85
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Metadata
feat(lifecycle): add player lifecycle hooksfeature/m1-lifecycle-hooksBackground and Context
Player lifecycle hooks enable subsystems to react to player state changes without
coupling to the Player class internals. Event sourcing uses
on_login/on_logoutfor timestamp tracking, terminal UI uses
on_room_changefor display updates.Expected Behavior
on_connectfires when a TCP connection is acceptedon_loginfires after successful authenticationon_logoutfires when a player issuesquiton_disconnectfires on unexpected connection losson_deathfires when player health reaches 0on_respawnfires when player respawns after deathon_room_changefires when player moves to a different roomAcceptance Criteria
PlayerConnection,Player, andMoveCommandHookEventincludes the player object and relevant contextSubtasks
on_connectandon_disconnectto PlayerConnectionon_loginandon_logoutto login/quit flowon_deathandon_respawnto health/respawn handlerson_room_changeto movement actionDefinition of Done
This issue is complete when:
Commit Message in Metadata exactly.
master, reviewed, and merged.