Files

4.0 KiB

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.xmlEncounterJournal/Custom_EncounterJournal/PlayerGuide.xml
    • client-export/PlayerGuide.luaEncounterJournal/Custom_EncounterJournal/PlayerGuide.lua
    • client-export/C_PlayerGuide.luaEncounterJournal/Utils/C_PlayerGuide.lua
    • client-export/MoonWellPlayerGuide.luaAIO/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).