Files
Nitrox/NitroxClient/GameLogic/Spawning/Metadata/Extractor/PlantableMetadataExtractor.cs
2025-07-06 00:23:46 +02:00

24 lines
1.0 KiB
C#

using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract;
using NitroxModel.DataStructures.GameLogic.Entities.Metadata;
namespace NitroxClient.GameLogic.Spawning.Metadata.Extractor;
public class PlantableMetadataExtractor(FruitPlantMetadataExtractor fruitPlantMetadataExtractor) : EntityMetadataExtractor<Plantable, PlantableMetadata>
{
private readonly FruitPlantMetadataExtractor fruitPlantMetadataExtractor = fruitPlantMetadataExtractor;
public override PlantableMetadata Extract(Plantable plantable)
{
// Default value for no progress is -1
PlantableMetadata metadata = new(plantable.growingPlant ? plantable.growingPlant.timeStartGrowth : -1, plantable.GetSlotID());
// TODO: Refer to the TODO in PlantableMetadata
if (plantable.linkedGrownPlant && plantable.linkedGrownPlant.TryGetComponent(out FruitPlant fruitPlant))
{
metadata.FruitPlantMetadata = fruitPlantMetadataExtractor.Extract(fruitPlant);
}
return metadata;
}
}