Godot 4.7 project for authoring, previewing, validating, and building Exchanger PCK themes. Includes the example and space-pixel themes, binding contracts, editor tooling, validation/build scripts, and project documentation.
25 lines
2.4 KiB
Markdown
25 lines
2.4 KiB
Markdown
# Шаблон логики интерактивного питомца
|
||
|
||
Production-компонент питомца создаётся в `package/components/interactive_pet.tscn`, а его
|
||
GDScript и ресурсы остаются внутри `package/`. Поле `InteractivePetScene` в manifest должно
|
||
ссылаться на эту сцену через канонический namespace `res://exchanger_theme_dlc/`.
|
||
|
||
Пошаговая раскадровка, структура `VisualRoot`, политики движения и checklist дизайнера описаны в
|
||
[`docs/COMPOSITE_PET_ANIMATIONS.md`](../../../../docs/COMPOSITE_PET_ANIMATIONS.md).
|
||
|
||
Сначала реализуйте обязательный animation API из `docs/SCRIPTING.md`. Если уникальное действие
|
||
состоит из нескольких анимаций и перемещений, реализуйте весь optional composite API целиком:
|
||
`has_pet_composite_action`, `start_pet_composite_action`, `cancel_pet_composite_action` и два
|
||
сигнала `pet_composite_action_started` / `pet_composite_action_finished`. Частичная реализация
|
||
считается ошибкой валидатора.
|
||
|
||
Сценарий работает как корутина темы. Host передаёт scoped runtime: через него тема временно
|
||
приостанавливает обычную навигацию, разрешает выход за границы, игнорирует опоры, перемещает
|
||
экранную опорную точку и затем явно возвращает её на объявленную поверхность. Перед каждым
|
||
`await` проверяйте `runtime.IsActive()` и run id. При отмене немедленно прекращайте корутину,
|
||
возвращайте локальный scale/визуальные состояния и не управляйте старым runtime.
|
||
|
||
После реализации активируйте тему и откройте `PET` в preview. Обычные кнопки проверяют каждый
|
||
клип отдельно, а «СОСТАВНОЕ ДЕЙСТВИЕ: INTERACT» — полный сценарий с проходом через границу и
|
||
посадкой на верхнюю тестовую опору.
|