This commit is contained in:
2026-08-14 18:51:23 +05:00
parent d559ab338a
commit 173bbb165c
29 changed files with 961 additions and 227 deletions
@@ -0,0 +1,32 @@
using UnityEngine;
[CreateAssetMenu(fileName = "TargetConfig", menuName = "Map Radar/Target Config")]
public sealed class TargetConfig : ScriptableObject
{
[Header("Target Prefab")]
[SerializeField] private MapTarget targetPrefab = null;
[Header("Target Stats")]
[SerializeField, Min(0f)] private float timeBeforeAttack = 5f;
[SerializeField, Min(1)] private int health = 100;
[SerializeField] private MissileType requiredMissileType = MissileType.Standard;
[Header("Air Target Movement")]
[SerializeField, Min(0f)] private float movementSpeed = 1f;
[SerializeField, Min(0f)] private float stoppingDistance = 0.25f;
public MapTarget TargetPrefab => targetPrefab;
public float TimeBeforeAttack => timeBeforeAttack;
public int Health => health;
public MissileType RequiredMissileType => requiredMissileType;
public float MovementSpeed => movementSpeed;
public float StoppingDistance => stoppingDistance;
private void OnValidate()
{
timeBeforeAttack = Mathf.Max(0f, timeBeforeAttack);
health = Mathf.Max(1, health);
movementSpeed = Mathf.Max(0f, movementSpeed);
stoppingDistance = Mathf.Max(0f, stoppingDistance);
}
}