30 lines
846 B
C#
30 lines
846 B
C#
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);
|
|
}
|
|
}
|