Jacob Schmidt a8415eb1fd Add phone addon and wire UI events
- Introduce client phone addon, UI, and XEH handlers
- Route actor phone interaction to the new phone UI
- Add initial phone state, event handling, and persistence
2026-04-06 19:07:18 -05:00

21 lines
961 B
Markdown

forge_server_phone
===================
This addon provides the phone user interface and functionality for the in-game phone system. It handles all phone-related features including the UI display, interactions, and core phone operations.
Server State
------------
Phone contacts, messages, and emails are owned by the server extension. SQF phone stores act as bridge objects for CBA events and UI sync only.
Persistent Redis keys:
- `phone:{uid}:contacts`: set of contact actor UIDs
- `phone:message:{messageId}`: hash containing message record fields
- `phone:{uid}:messages`: list of message IDs visible to the user
- `phone:{uid}:thread:{otherUid}`: list of message IDs for a conversation
- `phone:{uid}:message_read`: hash of message ID to per-user read state
- `phone:email:{emailId}`: hash containing email record fields
- `phone:{uid}:emails`: list of email IDs visible to the user
- `phone:{uid}:email_read`: hash of email ID to per-user read state