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 ← патч: подключение файлов
Порядок интеграции
- Скопируйте новые файлы в проект:
client-export/PlayerGuide.xml→EncounterJournal/Custom_EncounterJournal/PlayerGuide.xmlclient-export/PlayerGuide.lua→EncounterJournal/Custom_EncounterJournal/PlayerGuide.luaclient-export/C_PlayerGuide.lua→EncounterJournal/Utils/C_PlayerGuide.luaclient-export/MoonWellPlayerGuide.lua→AIO/MoonWellPlayerGuide.lua
- Примените патчи из
client-export/patches/к существующим файлам (см. ниже —Custom_EncounterJournal.xml,Custom_EncounterJournal.lua,MoonWellClient.toc,Localization/ruRU.lua). - Перезагрузите интерфейс (
/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).