enemy spawner

This commit is contained in:
2025-10-26 14:17:31 +01:00
parent 20d3b46834
commit 40a62b5b5a
2102 changed files with 1255290 additions and 70 deletions

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Game.Scripts.Runtime.Data
{
[CreateAssetMenu(menuName = "Game/Spawning/Boss Schedule", fileName = "BossSchedule")]
public class BossSchedule : ScriptableObject
{
[Serializable]
public class BossEvent
{
[Min(0f)] public float TimeSinceStart;
public EnemyDefinition Boss;
public int Count = 1;
[SerializeField] private bool useSpawnRadiusOverride;
[SerializeField] private float spawnRadiusOverride = 10f;
public bool HasSpawnRadiusOverride => useSpawnRadiusOverride;
public float SpawnRadiusOverride => spawnRadiusOverride;
}
[SerializeField] private List<BossEvent> events = new();
public IReadOnlyList<BossEvent> Events => events;
private void OnValidate()
{
events.Sort((a, b) => a.TimeSinceStart.CompareTo(b.TimeSinceStart));
}
}
}