static public ShipCargoSpaceTypeEnum?ActiveShipSelectedCargoSpaceType( this MemoryStruct.IWindowInventory windowInventory) => windowInventory?.TreeEntryActiveShip()?.FromShipExtractSetCargoSpaceTypeAndTreeEntry() ?.Where(cargoTypeAndTreeEntry => windowInventory?.SetLeftTreeEntrySelected()?.Contains(cargoTypeAndTreeEntry.Value) ?? false) ?.Select(cargoTypeAndTreeEntry => cargoTypeAndTreeEntry.Key) ?.CastToNullable() ?.FirstOrDefault();
public WindowInventory(MemoryStruct.IWindowInventory raw) { this.Raw = raw; if (null == raw) { return; } ActiveShipEntry = raw.TreeEntryActiveShip()?.ParseAsInventoryTreeEntryShip(); SelectedRightInventoryCapacityMilli = raw?.SelectedRightInventoryCapacity?.Text?.ParseAsInventoryCapacityGaugeMilli(); ItemHangarEntry = raw?.LeftTreeListEntry?.FirstOrDefault(c => c?.Text?.RegexMatchSuccess(@"item\s*hangar", RegexOptions.IgnoreCase) ?? false); }