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`.