using UnityEngine; public enum PartProcessingState : byte { Raw, Ready } [CreateAssetMenu( fileName = "PartItemDefinition", menuName = "FORT-BO/Items/Definitions/Part")] public sealed class PartItemDefinition : ItemDefinition { [Tooltip("Data-driven part family id, for example rocket-engine or rocket-cone-standard.")] [SerializeField] private string partTypeId; [SerializeField] private PartProcessingState processingState; public string PartTypeId => string.IsNullOrWhiteSpace(partTypeId) ? ItemId : partTypeId; public PartProcessingState ProcessingState => processingState; public bool IsReadyForAssembly => processingState == PartProcessingState.Ready; protected override void OnValidate() { base.OnValidate(); partTypeId = NormalizeId(partTypeId); } }