Exemple #1
0
        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();
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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();
        }