using UnityEngine; namespace DanroJump.Gameplay { /// /// Проверяет, в каких контекстах разрешено создавать enemy-prefab. /// public static class EnemyPrefabRules { /// /// True, если prefab можно создать на платформенной точке. /// public static bool CanSpawnOnPlatform(GameObject prefab) { return TryGetEnemy(prefab, out var enemy) && enemy.CanSpawnOnPlatform; } /// /// True, если prefab можно создать процедурно в свободном поле. /// public static bool CanSpawnProcedurally(GameObject prefab) { return TryGetEnemy(prefab, out var enemy) && enemy.CanSpawnProcedurally; } /// /// Получает базовый enemy-компонент из prefab. /// public static bool TryGetEnemy(GameObject prefab, out EnemyBase enemy) { enemy = prefab != null ? prefab.GetComponentInChildren(true) : null; return enemy != null; } } }