public ShipUiTarget(MemoryStruct.IShipUiTarget Raw) { this.Raw = Raw; if (null == Raw) { return; } var TextRow = Raw?.LabelText?.OrderByCenterVerticalDown() ?.Select(LabelText => LabelText?.Text?.RemoveXmlTag()) ?.ToArray(); var DistanceMinMax = TextRow?.LastOrDefault()?.DistanceParseMinMaxKeyValue(); DistanceMin = DistanceMinMax?.Key; DistanceMax = DistanceMinMax?.Value; this.TextRow = TextRow?.Reverse()?.Skip(1)?.Reverse()?.ToArray(); }
static public IShipUiTarget Parse(this MemoryStruct.IShipUiTarget ShipUiTarget) => null == ShipUiTarget ? null : new ShipUiTarget(ShipUiTarget);