65 lines
4.0 KiB
Markdown
65 lines
4.0 KiB
Markdown
# PlayerGuide — клиентский пакет (3.3.5a / MoonWellClient)
|
|
|
|
Это материалы для интеграции вкладки **«Путеводитель»** в существующий
|
|
ретропортированный Encounter Journal. Реализация соответствует требованиям
|
|
из `uploads/player-guide-requirements.md` и опирается на канон-визуал
|
|
WotLK (Friz Quadrata, тёмно-синий фон EJ, золотые акценты).
|
|
|
|
## Структура
|
|
|
|
```
|
|
MoonWellClient/
|
|
├── EncounterJournal/
|
|
│ ├── Utils/
|
|
│ │ └── C_PlayerGuide.lua ← хранилище + API
|
|
│ ├── Custom_EncounterJournal/
|
|
│ │ ├── Custom_EncounterJournal.xml ← патч: новая вкладка
|
|
│ │ ├── Custom_EncounterJournal.lua ← патч: routing вкладки
|
|
│ │ ├── PlayerGuide.xml ← фреймы и шаблоны (НОВОЕ)
|
|
│ │ └── PlayerGuide.lua ← рендер и логика (НОВОЕ)
|
|
│ └── Localization/
|
|
│ └── ruRU.lua ← патч: MW_PLAYER_GUIDE и др.
|
|
├── AIO/
|
|
│ └── MoonWellPlayerGuide.lua ← AIO-handler (клиентская часть)
|
|
└── MoonWellClient.toc ← патч: подключение файлов
|
|
```
|
|
|
|
## Порядок интеграции
|
|
|
|
1. **Скопируйте новые файлы** в проект:
|
|
* `client-export/PlayerGuide.xml` → `EncounterJournal/Custom_EncounterJournal/PlayerGuide.xml`
|
|
* `client-export/PlayerGuide.lua` → `EncounterJournal/Custom_EncounterJournal/PlayerGuide.lua`
|
|
* `client-export/C_PlayerGuide.lua` → `EncounterJournal/Utils/C_PlayerGuide.lua`
|
|
* `client-export/MoonWellPlayerGuide.lua` → `AIO/MoonWellPlayerGuide.lua`
|
|
2. **Примените патчи** из `client-export/patches/` к существующим файлам
|
|
(см. ниже — `Custom_EncounterJournal.xml`, `Custom_EncounterJournal.lua`,
|
|
`MoonWellClient.toc`, `Localization/ruRU.lua`).
|
|
3. **Перезагрузите интерфейс** (`/reload`). Если AIO ещё не передал
|
|
payload — увидите «пустое» состояние с кнопкой «Обновить».
|
|
|
|
## Что вошло в MVP (по требованиям)
|
|
|
|
| MVP-пункт | Где |
|
|
| ----------------------------- | ------------------------------------------- |
|
|
| вкладка `Путеводитель` | `Custom_EncounterJournal.xml` патч |
|
|
| пустой `PlayerGuideFrame` | `PlayerGuide.xml` |
|
|
| `C_PlayerGuide.lua` + статика | `C_PlayerGuide.lua` |
|
|
| заголовок этапа + цели | `PlayerGuide.lua → PlayerGuide_Refresh` |
|
|
| tab switching / hide-show | `Custom_EncounterJournal.lua → EJ_ContentTab_OnClick` хук |
|
|
| AIO `SetData` | `MoonWellPlayerGuide.lua → handlers.SetData` |
|
|
| Обновить (RequestRefresh) | `PlayerGuide.lua → PlayerGuide_RefreshButton_OnClick` |
|
|
|
|
## Что отложено (см. «Later UI» в требованиях)
|
|
|
|
* Фильтры (все / активные / завершённые)
|
|
* Pinning отслеживаемой цели
|
|
* **Награды** — блок временно отключён (`SHOW_REWARDS = false`)
|
|
* Серверные уведомления (`Notify`)
|
|
|
|
## Сноска по визуалу
|
|
|
|
Текстуры в XML — это встроенные ресурсы 3.3.5a-клиента. Если у вас
|
|
есть атлас MoonWell — замените пути в блоке `-- TEXTURE_ATLAS` на свои.
|
|
Биом-обложки рекомендаций (`Interface\AddOns\MoonWellClient\EncounterJournal\Textures\Biome-*`)
|
|
надо создать отдельно — это плейсхолдеры (см. таблицу в `PlayerGuide.lua`).
|