using System; using GeometryTD.Definition; using UnityEngine; namespace GeometryTD.Entity.EntityData { [Serializable] public class DefenseTowerData : EntityDataBase { [SerializeField] private DefenseTowerStatsData _stats = new DefenseTowerStatsData(); [SerializeField] private int _towerLevel = 0; public DefenseTowerData(int entityId, int typeId, Vector3 position, Quaternion rotation, DefenseTowerStatsData stats, int towerLevel = 0) : base(entityId, typeId) { Position = position; Rotation = rotation; _stats = stats ?? new DefenseTowerStatsData(); _towerLevel = Mathf.Max(0, towerLevel); } public DefenseTowerStatsData Stats { get => _stats; set => _stats = value ?? new DefenseTowerStatsData(); } public int TowerLevel { get => _towerLevel; set => _towerLevel = Mathf.Max(0, value); } } }