34 lines
934 B
C#
34 lines
934 B
C#
using UnityEngine;
|
|
using UnityEngine.Playables;
|
|
|
|
namespace OctoberStudio.Timeline
|
|
{
|
|
public class MaintainWave : WaveAsset
|
|
{
|
|
[Header("Maintain Settings")]
|
|
[SerializeField, Min(1)] int enemiesCount = 1;
|
|
|
|
public override int EnemiesCount => enemiesCount;
|
|
|
|
public MaintainWaveBehavior template;
|
|
|
|
public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
|
|
{
|
|
var wavePlayable = ScriptPlayable<MaintainWaveBehavior>.Create(graph, template);
|
|
var waveData = wavePlayable.GetBehaviour();
|
|
|
|
waveData.EnemyType = EnemyType;
|
|
|
|
waveData.EnemiesCount = enemiesCount;
|
|
waveData.WaveOverride = waveOverride;
|
|
waveData.CircularSpawn = circularSpawn;
|
|
|
|
return wavePlayable;
|
|
}
|
|
|
|
private void OnValidate()
|
|
{
|
|
if (enemiesCount < 0) enemiesCount = 0;
|
|
}
|
|
}
|
|
} |