Danil Iarosh ca52efbedc Initial commit: Exchanger Theme DLC Builder
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.
2026-09-22 11:43:13 +03:00

2.4 KiB
Raw Permalink Blame History

Шаблон логики интерактивного питомца

Production-компонент питомца создаётся в package/components/interactive_pet.tscn, а его GDScript и ресурсы остаются внутри package/. Поле InteractivePetScene в manifest должно ссылаться на эту сцену через канонический namespace res://exchanger_theme_dlc/.

Пошаговая раскадровка, структура VisualRoot, политики движения и checklist дизайнера описаны в 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» — полный сценарий с проходом через границу и посадкой на верхнюю тестовую опору.