public void Display() { Update(); var width = ImGui.GetWindowWidth() * 0.5f; ImGui.BeginChild(_entityState.Name, new System.Numerics.Vector2(240, 200), true); foreach (var storetype in CargoResourceStores) { if (ImGui.CollapsingHeader(storetype.HeaderText + "###" + _entityState.Name + storetype.StorageTypeName, ImGuiTreeNodeFlags.CollapsingHeader)) { foreach (CargoItemVM item in storetype.CargoItems) { if (ImGui.Selectable(item.ItemName)) { SelectedItem = item; } ImGui.SameLine(); ImGui.Text(item.ItemWeightPerUnit); ImGui.SameLine(); ImGui.Text(item.NumberOfItems); ImGui.SameLine(); ImGui.Text(item.TotalWeight); } } } ImGui.EndChild(); }
internal void AddUICargoIn(ICargoable cargoItem, long itemCount) { CargoTypeStoreVM store; if (_cargoResourceStoresDict.ContainsKey(cargoItem.CargoTypeID)) { store = _cargoResourceStoresDict[cargoItem.CargoTypeID]; CargoItemVM item = store.GetOrAddItemVM(cargoItem); item.ItemIncomingAmount += itemCount; } }
internal void AddUICargoOut(ICargoable cargoItem, long itemCount) { CargoTypeStoreVM store; if (_cargoResourceStoresDict.ContainsKey(cargoItem.CargoTypeID)) { store = _cargoResourceStoresDict[cargoItem.CargoTypeID]; CargoItemVM item = store.GetItemVM(cargoItem.ID); if (item.ItemIncomingAmount > 0) { var amount = Math.Min(itemCount, item.ItemIncomingAmount); item.ItemIncomingAmount -= amount; itemCount -= amount; } item.ItemOutgoingAmount += itemCount; } }
public void Display() { var width = ImGui.GetWindowWidth() * 0.5f; ImGui.BeginChild(_entityState.Name, new System.Numerics.Vector2(240, 200), true); ImGui.Text(_entityState.Name); ImGui.Text("Transfer Rate: " + _storageDatablob.TransferRateInKgHr); ImGui.Text("At DeltaV < " + _storageDatablob.TransferRangeDv + " Km/s"); foreach (var storetype in CargoResourceStores) { ImGui.SetNextTreeNodeOpen(HeadersIsOpenDict[storetype.TypeID]); if (ImGui.CollapsingHeader(storetype.HeaderText + "###" + _entityState.Name + storetype.StorageTypeName, ImGuiTreeNodeFlags.CollapsingHeader)) { HeadersIsOpenDict[storetype.TypeID] = true; foreach (CargoItemVM item in storetype.CargoItems) { bool isSelected = SelectedCargoVM == item; if (ImGui.Selectable(item.ItemName, isSelected)) { SelectedCargoVM = item; CargoItemSelectedEvent.Invoke(this); } ImGui.SameLine(); ImGui.Text(item.ItemWeightPerUnit); ImGui.SameLine(); ImGui.Text(item.NumberOfItems); ImGui.SameLine(); ImGui.Text(item.TotalWeight); ImGui.Text("+" + item.ItemIncomingAmount.ToString()); ImGui.SameLine(); ImGui.Text(item.GetIncomingWeight()); ImGui.SameLine(); ImGui.Text("-" + item.ItemOutgoingAmount.ToString()); ImGui.SameLine(); ImGui.Text(item.GetOutgoungWeight()); } } else { HeadersIsOpenDict[storetype.TypeID] = false; } } ImGui.EndChild(); }