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;
}
}
}