public void ModuleStore(JournalModuleStore e) { string sid = Key(e.ShipFD, e.ShipId); ShipInformation sm = EnsureShip(sid); // this either gets current ship or makes a new one. if (e.ReplacementItem.Length > 0) { Ships[sid] = sm.AddModule(e.Slot, e.SlotFD, e.ReplacementItem, e.ReplacementItemFD, e.ReplacementItemLocalised); } else { Ships[sid] = sm.RemoveModule(e.Slot, e.StoredItem); } StoredModules = StoredModules.StoreModule(e.StoredItem, e.StoredItemLocalised); currentid = sid; // must be in it to do this }
public void ModuleStore(JournalModuleStore e) { string sid = Key(e.ShipFD, e.ShipId); ShipInformation sm = EnsureShip(sid); // this either gets current ship or makes a new one. sm = sm.SetShipDetails(e.Ship, e.ShipFD); // shallow copy if changed if (e.ReplacementItem.Length > 0) { Ships[sid] = sm.AddModule(e.Slot, e.SlotFD, e.ReplacementItem, e.ReplacementItemFD, e.ReplacementItemLocalised); } else { Ships[sid] = sm.RemoveModule(e.Slot, e.StoredItem); } StoredModules = StoredModules.StoreModule(e.StoredItem, e.StoredItemLocalised); VerifyList(); }