using System.Linq; using NitroxClient.GameLogic.Spawning.Metadata.Extractor.Abstract; using NitroxClient.Unity.Helper; using NitroxModel.DataStructures.GameLogic.Entities.Metadata; using NitroxModel.DataStructures.Unity; using NitroxModel_Subnautica.DataStructures; namespace NitroxClient.GameLogic.Spawning.Metadata.Extractor; public class SubNameInputMetadataExtractor : EntityMetadataExtractor { public override SubNameInputMetadata Extract(SubNameInput subNameInput) { SubName subName = subNameInput.target; return new(subNameInput.selectedColorIndex, GetName(subName), GetColors(subName)); } public static string GetName(SubName subName) { return subName.AliveOrNull()?.hullName.AliveOrNull()?.text; } public static NitroxVector3[] GetColors(SubName subName) { return subName.AliveOrNull()?.GetColors().Select(color => color.ToDto()).ToArray(); } }