public void Update() { foreach (var kvp in _storageDatablob.StoredCargoTypes) { if (!_cargoResourceStoresDict.ContainsKey(kvp.Key)) { var newCargoTypeStoreVM = new CargoTypeStoreVM(_staticData, kvp.Key, kvp.Value); _cargoResourceStoresDict.Add(kvp.Key, newCargoTypeStoreVM); CargoResourceStores.Add(newCargoTypeStoreVM); } _cargoResourceStoresDict[kvp.Key].Update(); if (!HeadersIsOpenDict.ContainsKey(kvp.Key)) { HeadersIsOpenDict[kvp.Key] = false; } } foreach (var key in _cargoResourceStoresDict.Keys.ToArray()) { if (!_storageDatablob.StoredCargoTypes.ContainsKey(key)) { CargoResourceStores.Remove(_cargoResourceStoresDict[key]); _cargoResourceStoresDict.Remove(key); } } }
internal bool HasCargoInStore(ICargoable cargoItem) { if (_cargoResourceStoresDict.ContainsKey(cargoItem.CargoTypeID)) { CargoTypeStoreVM store = _cargoResourceStoresDict[cargoItem.CargoTypeID]; return(store.ContainsItem(cargoItem.ID)); } return(false); }
internal long AmountInStoreAndMove(Guid typeID, Guid cargoID) { long amount = 0; if (_cargoResourceStoresDict.ContainsKey(typeID)) { CargoTypeStoreVM store = _cargoResourceStoresDict[typeID]; amount = store.GetItemVM(cargoID).ItemsTotal; } return(amount); }
private void CargoTypeStoreView_DataContextChanged(object sender, EventArgs e) { if (DataContext is CargoTypeStoreVM) { CargoTypeStoreVM vm = (CargoTypeStoreVM)DataContext; _vm = vm; ResetDesignStore(); CargoGrid.Height = 52 + 24 * _vm.CargoItems.Count; vm.CargoItems.CollectionChanged += TypeStore_CollectionChanged; //_vm.DesignStore.CollectionChanged += DesignStore_CollectionChanged; //_vm.TypeStore.CollectionChanged += TypeStore_CollectionChanged; //_vm.PropertyChanged += Vm_PropertyChanged; } }