docs(D.5.2): implementation plan (9 TDD tasks) + spec wiring fix
Bite-sized TDD plan for the stateful item-icon system. Corrects spec 5.8: the live 0x02CE event binds in GameWindow (next to VitalUpdated), not GameEventWiring (which only handles the 0xF7B0 GameEvent dispatcher). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
419c3ac40c
commit
52306d9268
2 changed files with 981 additions and 3 deletions
|
|
@ -87,6 +87,9 @@ PublicUpdatePropertyInt(0x02CE) ──────────┤
|
|||
|
||||
The re-composition contract (`ItemPropertiesUpdated` → widget re-resolve via the
|
||||
toolbar's `Populate`) already exists; D.5.2 feeds it the effect state from two sources.
|
||||
The live `0x02CE` event is bound in `GameWindow`'s session-event binding (next to the
|
||||
existing `VitalUpdated` subscription) — NOT `GameEventWiring`, which only handles the
|
||||
`0xF7B0` GameEvent sub-opcode dispatcher.
|
||||
|
||||
## 5. Components
|
||||
|
||||
|
|
@ -166,9 +169,11 @@ Each component below states **what it does / how it's used / what it depends on.
|
|||
`OnLiveEntitySpawned` pass `spawn.UiEffects`.
|
||||
- **Depends on:** §5.1, §5.6.
|
||||
|
||||
### 5.8 `GameEventWiring` (`AcDream.Core.Net/GameEventWiring.cs`)
|
||||
- **What:** subscribe to `WorldSession.ObjectIntPropertyUpdated`; route
|
||||
`property == 18 (UiEffects)` to `items.UpdateIntProperty(guid, 18, value)`.
|
||||
### 5.8 `GameWindow` session-event binding (`AcDream.App/Rendering/GameWindow.cs`)
|
||||
- **What:** subscribe to `WorldSession.ObjectIntPropertyUpdated` (alongside the existing
|
||||
`VitalUpdated` subscription, ~line 2630); route `Property == 18 (UiEffects)` to
|
||||
`Items.UpdateIntProperty(guid, 18, value)`. (Top-level session events bind here, not in
|
||||
`GameEventWiring` — that class only handles the `0xF7B0` GameEvent dispatcher.)
|
||||
- **Depends on:** §5.3, §5.5.
|
||||
|
||||
## 6. Divergence-register changes
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue