Esempio n. 1
0
        public void ModuleBuy(JournalModuleBuy e)
        {
            string sid = Key(e.ShipFD, e.ShipId);

            ShipInformation sm = EnsureShip(sid);              // this either gets current ship or makes a new one.

            if (e.StoredItem.Length > 0)                       // if we stored something
            {
                StoredModules = StoredModules.StoreModule(e.StoredItem, e.StoredItemLocalised);
            }

            // if we sold it, who cares?
            Ships[sid] = sm.AddModule(e.Slot, e.SlotFD, e.BuyItem, e.BuyItemFD, e.BuyItemLocalised); // replace the slot with this

            itemlocalisation[e.BuyItem] = e.BuyItemLocalised;                                        // record any localisations
            if (e.SellItem.Length > 0)
            {
                itemlocalisation[e.SellItem] = e.SellItemLocalised;
            }
            if (e.StoredItem.Length > 0)
            {
                itemlocalisation[e.StoredItem] = e.StoredItemLocalised;
            }

            currentid = sid;           // must be in it to do this
        }
Esempio n. 2
0
        public void ModuleBuy(JournalModuleBuy 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.StoredItem.Length > 0)                // if we stored something
            {
                StoredModules = StoredModules.StoreModule(e.StoredItem, e.StoredItemLocalised);
            }

            // if we sold it, who cares?
            Ships[sid] = sm.AddModule(e.Slot, e.SlotFD, e.BuyItem, e.BuyItemFD, e.BuyItemLocalised); // replace the slot with this

            itemlocalisation[e.BuyItem] = e.BuyItemLocalised;                                        // record any localisations
            if (e.SellItem.Length > 0)
            {
                itemlocalisation[e.SellItem] = e.SellItemLocalised;
            }
            if (e.StoredItem.Length > 0)
            {
                itemlocalisation[e.StoredItem] = e.StoredItemLocalised;
            }

            VerifyList();
        }
Esempio n. 3
0
        public void MassModuleStore(JournalMassModuleStore e)
        {
            ShipInformation sm = EnsureShip(e.ShipId);            // this either gets current ship or makes a new one.

            Ships[e.ShipId] = sm.RemoveModules(e.ModuleItems);
            StoredModules   = StoredModules.StoreModule(e.ModuleItems, itemlocalisation);
        }
Esempio n. 4
0
 internal StoredModulesEvent InvokeEvent(StoredModulesEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         StoredModules?.Invoke(_api, arg);
     }
     return(arg);
 }
Esempio n. 5
0
        private IEnumerable <ApiEvent> ConvertEvent(StoredModules e)
        {
            var @event = new ApiEvent("setCommanderStorageModules")
            {
                Timestamp = e.Timestamp,
                EventData = e.Items.Select(ConvertStoredItem).ToArray()
            };

            yield return(@event);
        }
Esempio n. 6
0
        public void MassModuleStore(JournalMassModuleStore 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); // will clone if data changed..
            Ships[sid]    = sm.RemoveModules(e.ModuleItems);
            StoredModules = StoredModules.StoreModule(e.ModuleItems, itemlocalisation);
            VerifyList();
        }
Esempio n. 7
0
        public void ModuleRetrieve(JournalModuleRetrieve e)
        {
            ShipInformation sm = EnsureShip(e.ShipId);            // this either gets current ship or makes a new one.

            if (e.SwapOutItem.Length > 0)
            {
                StoredModules = StoredModules.StoreModule(e.SwapOutItem, e.SwapOutItemLocalised);
            }

            Ships[e.ShipId] = sm.AddModule(e.Slot, e.SlotFD, e.RetrievedItem, e.RetrievedItemFD, e.RetrievedItemLocalised);

            StoredModules = StoredModules.RemoveModule(e.RetrievedItem);
        }
Esempio n. 8
0
        public void ModuleStore(JournalModuleStore e)
        {
            ShipInformation sm = EnsureShip(e.ShipId);            // this either gets current ship or makes a new one.

            if (e.ReplacementItem.Length > 0)
            {
                Ships[e.ShipId] = sm.AddModule(e.Slot, e.SlotFD, e.ReplacementItem, e.ReplacementItemFD, e.ReplacementItemLocalised);
            }
            else
            {
                Ships[e.ShipId] = sm.RemoveModule(e.Slot, e.StoredItem);
            }

            StoredModules = StoredModules.StoreModule(e.StoredItem, e.StoredItemLocalised);
            currentid     = e.ShipId;       // must be in it to do this
        }
Esempio n. 9
0
        public void ModuleRetrieve(JournalModuleRetrieve 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.SwapOutItem.Length > 0)
            {
                StoredModules = StoredModules.StoreModule(e.SwapOutItem, e.SwapOutItemLocalised);
            }

            Ships[sid] = sm.AddModule(e.Slot, e.SlotFD, e.RetrievedItem, e.RetrievedItemFD, e.RetrievedItemLocalised);

            StoredModules = StoredModules.RemoveModule(e.RetrievedItem);
            VerifyList();
        }
Esempio n. 10
0
 public void UpdateStoredModules(JournalStoredModules s)
 {
     StoredModules = StoredModules.UpdateStoredModules(s.ModuleItems);
     VerifyList();
 }
Esempio n. 11
0
 public void ModuleSellRemote(JournalModuleSellRemote e)
 {
     StoredModules = StoredModules.RemoveModule(e.SellItem);
 }