Looks like we can now load the cargo on the ship. It will add to the ship cargo (thus reducing the available cargo space), add the appropriate amount of credits (based on the Traveller version cost per jump).
Next step is when jumping to a system, check to see if any of the ship cargos is going there and unload them - basically just add back to your cargo space.
As I do flag the cargo by an enumeration I can just check for anything that is non-speculative and adjust then.
public enum CargoTypes
Still need to work on the cargo codes themselves (i.e., T5 has a code, and I've the BITS stuff to work out still). And I'm pretty sure we can't actually purchase the speculative trade yet, but that just means writing the stuff to get the costs. And I may have to add the purchase/sell adjustments to the versions table as well (although T5 maps 1:1 with Classic actual value table)
It did take me 3 times to get it all in there. I've also added a Cargo Available tab to list the available cargos, and made the Cargo manifest tab the actual ship's manifest. Probably need to add passengers as well (they can be set up as cargo - I'll just add enum values for high, mod & low passengers).
The list is the cargo type, tonnage, origin world & destination world. And yes - I really need to get around to making the UI pretty...