15 Commits

Author SHA1 Message Date
53afa5498e Fix player bouncing off corners and align collider
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
- Исправлено поведение игрока при падении с высоты и разворотах (устранен сильный отскок от углов)
- Центрирован PolygonCollider2D по оси X на префабе character_defeat_4.prefab (m_Offset.x установлен в 0)
- Упрощена форма PolygonCollider2D до симметричного выпуклого шестиугольника
- Сохранен бэкап старого префаба игрока в Player_Old.prefab
2026-07-16 15:39:43 +03:00
5d86238fd0 feat(assets, scene): import designer graphics and update Level 1-1
- Перенесены новые графические ресурсы (спрайты, текстуры, плашки и персонажи) из проекта дизайнеров с сохранением соответствующих файлов .meta (для сохранения оригинальных GUID).
- Добавлены новые персонажи и костные 2D-анимации в формате .psb: крабы (Crab1, Crab2), ниндзя (Ninja, Ninja_Red) и лягушка (frog@4x).
- Добавлены новые элементы окружения и пропсы: сундуки (chest, chest 1), аркадные игровые автоматы (game_machines), лозы (vines) и снаряды-тамагочи (тамагочи.png / TamagoCH.psb).
- Добавлены новые UI-плашки и иконки в папку Assets/Resources/ (включая coin_art, Crystal_art, plashka_central/levels/prize/side).
- Обновлен и оптимизирован спрайт неба (Sky.png) вместе с его метафайлом (.meta), что скоординировало GUID с версией дизайнеров.
- Импортирована обновленная дизайнерами сцена уровня 1-1 (Assets/Scenes/Levels/1-1.unity) с сохранением работоспособности всех ссылок и связей в Unity.
2026-07-10 13:39:27 +03:00
e8000ffdca feat(vfx, ui, com): add custom vfx, polish ui and update backlight protocol
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
- Интегрирована система кастомных визуальных эффектов (VFX):
  - Добавлена новая утилита MvpVFXUtility и настройки MvpVFXSpawnSettings для спавна эффектов.
  - Реализован пул эффектов VFXPool с поддержкой отслеживания версий спавна, сброса оверрайдов и анимации масштаба по времени.
  - Добавлены эффекты прыжка и приземления в PlayerAnimationEvents.
  - Интегрирован эффект DeathVignetteController для плавного затемнения экрана при смерти игрока.
  - Добавлены частицы stompImpactVFX при уничтожении врагов прыжком сверху (EnemyController).
  - Реализован эффект конфетти finishVFX при успешном завершении уровня (LevelFinish).
  - Интегрированы эффекты искр при сборе монеток, кристаллов и других собираемых предметов (Collectible, EnvironmentalCollectibleBase).
- Улучшен и визуально доработан пользовательский интерфейс (UI):
  - Добавлен скрипт QRCodeTierHighlight для цветовой подсветки QR-кодов в зависимости от тира приза.
  - Реализована пульсация блока приза в баннере победы (WinBannerController).
  - Обновлено обозначение валюты в BalanceDisplay с "₽" на "руб.".
  - Добавлены новые префабы, сцены, ассеты тайлсетов и шейдеров для настройки визуального стиля.
- Обновлён протокол и инициализация подсветки COM-платы:
  - Изменен префикс команд подсветки с 85/86 на 8550, а диапазон эффектов обновлен с 40...52 на 10...22 (LightController, LightMode, LightCycleDurations).
  - Исправлена хардкод-команда сброса подсветки при инициализации в ComDeviceClient с устаревшей 8600 на новую 8550 для предотвращения рассинхронизации буфера обмена платы.
2026-07-07 16:52:05 +03:00
6da2812c8e feat: add hopper prize system, prize error display, levitator component
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Система выдачи призов хоппером:
- PrizeSystemManager теперь читает enableHopper из настройки prizes.giveSmallPrize
  вместо захардкоженного SerializeField (реагирует на изменения в реальном времени)
- LevelFinish: исправлен ключ настройки на prizes.giveSmallPrize
- Добавлен HopperCheckController для тестирования выдачи приза кнопкой в настройках
- Проверка датчика хоппера перенесена в ComDeviceClient (2-й бит INPUT)
- PrizeGivenBuffer заменён с PlayerPrefs на потокобезопасный Interlocked-буфер
  (исправлен краш при вызове PlayerPrefs из фонового потока платы)
- Добавлен PrizeSystem.OnPrizeResult (Action<bool>) — событие результата выдачи

Отображение ошибки выдачи приза:
- Добавлен PrizeErrorDisplay — UI-компонент, подписанный на OnPrizeResult
- Зависит от настройки prizes.showPrizeError (реагирует на изменения в реальном времени)

QR-коды:
- PrizeSystemManager подписан на изменение prizes.phoneNumber — QR-коды
  перегенерируются автоматически при смене номера
- WinBannerController показывает QR-коды только при включённой prizes.giveBigPrize

Прочее:
- Добавлен Levitator — компонент плавной левитации объекта (высота, скорость, плавность)
- Настройки: группы поддержки/тестов реорганизованы, добавлена кнопка btn.hopper_test
2026-03-06 16:47:40 +03:00
c1d8cb89c9 feat: add UI animator, game price display, improve lighting reliability
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Добавлены новые UI-компоненты и исправлена надёжность подсветки

- Добавлен UIElementAnimator — универсальный аниматор UI-элементов (покачивание, движение вверх-вниз, пульсация масштаба)
- Добавлен GamePriceDisplay — отображение стоимости игры из настроек (payment.startGameCost, payment.currency)
- Добавлен метод StartIdleEffects() в GameManager для гарантированного запуска мигания шапки и последовательности эффектов
- Исправлена подсветка, не включавшаяся при переходе в главное меню: OnSceneLoaded теперь вызывает StartIdleEffects()
- Исправлено восстановление подсветки при переподключении платы: ComSystemManager использует StartIdleEffects() для MainMenu
- Добавлены LightController.IsHatOn и ResendHatState() для корректного отслеживания состояния шапки
- Исправлено зависание спецэффектов при мигании шапки: LightSequence теперь переотправляет команду эффекта каждые 2 сек
- Убраны дублирующиеся вызовы Blink/SetLight из LoadScene (теперь обрабатывается в OnSceneLoaded)
- Обновлена сцена MainMenu, ассеты шрифтов, удалён старый префаб Coin
2026-03-05 17:03:03 +03:00
4374c6f63f refactor: rework environmental spawner, remove pooling, add trigger-based particle switching
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
- Убран пулинг из `EnvironmentalCollectibleBase` и `EnvironmentalCollectibleSpawner`:
  при подборе и деспауне частицы теперь уничтожаются через `Destroy()`,
  что устраняет проблему переиспользования объектов старого типа при смене частиц.
- Удалены поля `usePooling`, `_ownerPool`, `_originPrefab` из `EnvironmentalCollectibleBase`;
  упрощены методы `Collect()` и `Despawn()`.
- Добавлено время жизни частиц: поле `defaultLifetime` в `EnvironmentalCollectibleBase`,
  таймер `_age` с автоматическим деспауном по истечении; виртуальный `OnDespawned()` для наследников.
- В `SpawnEntry` добавлены `overrideLifetime` и `lifetimeOverride` для переопределения времени жизни.
- Добавлена структура `NamedSpawnEntry` — именованные записи с ключом (`string key`),
  полным `SpawnEntry` и флагом `hardReplace`, настраиваемые в инспекторе.
- Спаунер получает игрока из `GameManager.Instance.PlayerObj` вместо `FindGameObjectWithTag`;
  подписка на `GameManager.PlayerSpawned` для автообновления ссылки.
- Добавлен постепенный спаун: `MaintainFixedCount()` запускает корутину `SpawnRoutine()`
  с рандомной задержкой `spawnDelay` между объектами.
- Добавлены диапазоны случайного масштаба (`scaleRange`) и угла поворота (`rotationRange`) при спауне.
- Добавлены публичные методы переключения типа частиц для `UnityEvent`:
  `SetForcedPrefab`, `SetForcedPrefabHard`, `SetForcedPrefabByObject`, `SetForcedPrefabByObjectHard`,
  `SetForcedPrefabByIndex`, `SetForcedPrefabHardByIndex`, `SetForcedEntry`, `SetForcedEntryByName`,
  `SetEntryByName` (мягкая постепенная замена через `GradualReplaceRoutine`),
  `ClearForcedPrefab`, `SetOverrideArea`.
- Исправлено сравнение prefab по ссылкам на сравнение по `name`, устраняя проблему
  когда один и тот же ассет из разных массивов (`spawnEntries` / `namedEntries`) не совпадал.
- Удалён `EnvironmentalZoneTrigger.cs` (триггер-зона не нужна как отдельный скрипт).
- Удалены `EnvironmentalPool` из использования в спаунере и базовом классе.
- Префабы `Coin.prefab` и `Coin_Robotail.prefab` перемещены в `Prefabs/Props/Collectibles/`;
  добавлены `LeafCollectible.prefab` и `BatCollectible.prefab`.
2026-03-03 14:55:58 +03:00
92bd2d36b9 VFX Pool, new VFX, small fixes etc
- Исправил мелкие баки в поведенчеких скриптах
- Добавил CreatureAnimationEvents.cs для унификации поведения анимационных ивентов игровых сущностей
- Добавил VFX для смерти врагов
- Добавил пул VFX, пока много багов, UNSTABLE
- Настроил исользование пула в анимационных скриптах
2025-12-05 08:37:00 +03:00
9bcf2cfd16 feat(math): add MathUtils class with remapping functions for various data types 2025-11-27 17:02:29 +03:00
175287f195 feat(lever): implement deactivating lever functionality and update prefab settings 2025-11-26 10:25:11 +03:00
05a1469725 feat(platforms): add new platform types and implement lever functionality 2025-11-24 16:57:20 +03:00
a4ebcd4d6f feat(platforms): add new platform prefabs and update player prefab references 2025-11-21 16:56:56 +03:00
5bafc385da feat(audio): increase SFX pool size and preload audio data
- Increased SFX pool size from 8 to 16 in AudioManager
- Enabled preloadAudioData for multiple SFX files
- Removed unused VisualScripting import from Checkpoint script
- Reordered using statements in several scripts for consistency
- Added CoinCollectible component to Coin prefab with pickup effects
- Updated sorting layers and mesh LOD settings in Coin prefabs
- Fixed typo in Interfaces.cs: optionaAttachPoint to optionalAttachPoint
- Modified AddCoin method to accept count parameter and handle coin overflow
- Moved projectile scripts (BasicProjectile, EnemyBasicProjectile, PhysicsProjectile, PickableProjectile)
- Cleaned up unused namespaces and imports across various scripts
2025-10-30 16:39:15 +03:00
ab3589f0ad Add new prefabs for Lava and Checkpoint; implement particle effects and update player death logic 2025-10-22 16:38:07 +03:00
37b0926a82 Refactor health management to use float values for damage and healing; update serialized versions for assets 2025-10-13 11:41:36 +03:00
d821e7c1df Project refactoring pt.2 2025-10-08 10:24:56 +03:00