public IDictionary <string, int> Update() { CubeCount = 0; Items.Clear(); MassStorageCrate center = Crate?.mConnectedCenter; if (center == null) { return(Items); } foreach (MassStorageCrate crate in center.mConnectedCrates) { ItemBase pickeditem = null; CubeCount++; pickeditem = crate.mItem; if (pickeditem != null && Filter.Check(pickeditem)) { string itemname = ItemManager.GetItemName(pickeditem); if (!Items.ContainsKey(itemname)) { Items.Add(itemname, ItemManager.GetCurrentStackSize(pickeditem)); } else { Items[itemname] = (int)Items[itemname] + ItemManager.GetCurrentStackSize(pickeditem); } pickeditem = null; } } return(Items); }
public List <FreightCartStation> ConnectedStations; // For use by actual mass storage inventories public MassInventory(MassStorageCrate crate, string networkid = null) { this.MassStorage = crate; this.NetworkID = networkid; this.Inventory = new List <KeyValuePair <ItemBase, int> >(); this.ConnectedStations = new List <FreightCartStation>(); }
public bool IsValid() { if (Crate == null || Crate.mbDelete) { Crate = null; return(false); } return(true); }
public FreightRegistry(string networkID, MassStorageCrate crate, ItemBase item, int lowstock, int highstock, RegistryType datatype) { this.NetworkID = networkID; this.MassStorage = crate; this.FreightItem = item; this.LowStock = lowstock; this.HighStock = highstock; this.DataType = datatype; }
public MassStorageInventoryBehavior(MassStorageCrate crate, ItemFilter filter) { this.Crate = crate; this.Filter = filter; }
public MassStorageInventoryBehavior(MassStorageCrate crate) : this(crate, ItemFilters.ALL) { }