- Revised README.md for the Forge Client Example Addon to clarify its purpose as a template. - Enhanced MODULE_REFERENCE.md to categorize guides into Server and Extension guides and Client guides. - Created detailed usage guides for various client addons including Actor, Bank, CAD, Garage, Locker, Notifications, Organization, Phone, and Store. - Added a Client Common Usage Guide to outline shared browser UI bridge patterns. - Introduced a Client Main Usage Guide to define the foundational elements for client addons. - Established authoritative state notes and usage rules across new guides to ensure clarity on server ownership and client responsibilities.
101 lines
3.4 KiB
Markdown
101 lines
3.4 KiB
Markdown
# Client CAD Usage Guide
|
|
|
|
The client CAD addon provides the map and dispatch UI for groups, active
|
|
tasks, task assignment, dispatch orders, support requests, and task
|
|
acknowledge/decline workflows.
|
|
|
|
## Open CAD UI
|
|
|
|
```sqf
|
|
call forge_client_cad_fnc_openUI;
|
|
```
|
|
|
|
The CAD UI opens `RscMapUI` and loads separate browser controls for:
|
|
|
|
- top bar
|
|
- bottom bar
|
|
- side panel
|
|
- dispatcher board
|
|
|
|
The native Arma map remains part of the same display.
|
|
|
|
## Repository and Bridge
|
|
|
|
`forge_client_cad_fnc_initRepository` caches the hydrated CAD payload,
|
|
selected mode, dispatch view, session data, groups, tasks, requests, and
|
|
assignments.
|
|
|
|
`forge_client_cad_fnc_initUIBridge` owns:
|
|
|
|
- ready state for side panel, top bar, and dispatcher board
|
|
- operations vs dispatch mode
|
|
- board vs map dispatch view
|
|
- hydrate requests
|
|
- task assignment, acknowledge, and decline requests
|
|
- dispatch order create/close requests
|
|
- support request submit/close requests
|
|
- group status, role, and profile requests
|
|
- map focus actions
|
|
|
|
## Browser Events
|
|
|
|
| Event | Client behavior |
|
|
| --- | --- |
|
|
| `cad::topbar::ready` | Mark top bar ready and push top bar state. |
|
|
| `cad::ready` | Mark side panel ready and request hydrate. |
|
|
| `cad::dispatcher::ready` | Mark dispatcher board ready and push hydrate data. |
|
|
| `cad::mode::set` | Switch between operations and dispatch mode. |
|
|
| `cad::dispatchView::set` | Switch dispatch board/map view. |
|
|
| `cad::refresh` | Request fresh CAD hydrate data. |
|
|
| `cad::tasks::assign` | Assign a task to a group. |
|
|
| `cad::tasks::acknowledge` | Acknowledge assigned task. |
|
|
| `cad::tasks::decline` | Decline assigned task. |
|
|
| `cad::dispatchOrder::create` | Create dispatch order. |
|
|
| `cad::dispatchOrder::close` | Close dispatch order. |
|
|
| `cad::supportRequest::submit` | Submit support request. |
|
|
| `cad::supportRequest::close` | Close support request. |
|
|
| `cad::groups::status` | Update group status. |
|
|
| `cad::groups::role` | Update group role. |
|
|
| `cad::groups::profile` | Update status and role together. |
|
|
| `cad::groups::focus` | Center map on a group. |
|
|
| `cad::tasks::focus` | Center map on a task. |
|
|
| `cad::requests::focus` | Center map on a support request. |
|
|
| `map::zoomIn` | Zoom native map in. |
|
|
| `map::zoomOut` | Zoom native map out. |
|
|
| `map::search` | Placeholder status update. |
|
|
| `map::close` | Dispose bridge state and close the display. |
|
|
|
|
## Response Events
|
|
|
|
The bridge pushes:
|
|
|
|
| Event | Purpose |
|
|
| --- | --- |
|
|
| `cad::hydrate` | Full hydrated CAD payload to the side panel. |
|
|
| `cad::assignment::response` | Task assignment/acknowledge/decline result. |
|
|
| `cad::group::response` | Group status/role/profile result. |
|
|
| `cad::request::response` | Support request result. |
|
|
|
|
Dispatcher board controls also receive direct `ExecJS` status and hydrate
|
|
calls.
|
|
|
|
## Task Compatibility
|
|
|
|
CAD task visibility depends on server-side task catalog entries. Tasks created
|
|
through Eden Forge task modules or `forge_server_task_fnc_startTask` are the
|
|
normal CAD-compatible task sources because they register task catalog data.
|
|
|
|
Direct handler or task-function calls only work with CAD when the task catalog
|
|
entry already exists.
|
|
|
|
## Authorization Notes
|
|
|
|
Only dispatcher sessions can enter dispatch mode. If the hydrated session is
|
|
not a dispatcher, the bridge forces the UI back to operations mode.
|
|
|
|
## Related Guides
|
|
|
|
- [CAD Usage Guide](./CAD_USAGE_GUIDE.md)
|
|
- [Task Usage Guide](./TASK_USAGE_GUIDE.md)
|
|
- [Client Common Usage Guide](./CLIENT_COMMON_USAGE_GUIDE.md)
|