コード例 #1
0
        private void RemoveFrom_Cargo_Hangar_Neaby(InventoryEntry entry)
        {
            InventoryEntryRemoved(entry);

            if (pnlCargo.Children.Contains(entry))
            {
                #region Cargo

                pnlCargo.Children.Remove(entry);

                if (entry.Inventory.Mineral != null)
                {
                    _player.Ship.CargoBays.RemoveMineral_Volume(entry.Inventory.Mineral.MineralType, entry.Inventory.Mineral.Volume);
                }
                else if (entry.Inventory.Part != null)
                {
                    _player.Ship.CargoBays.RemovePart(entry.Inventory.Part);
                }
                else
                {
                    throw new ApplicationException("Unknown type of entry");
                }

                #endregion
            }
            else if (pnlHangar.Children.Contains(entry))
            {
                #region Hangar

                pnlHangar.Children.Remove(entry);

                _station.PlayerInventory.Remove(entry.Inventory);

                OnHangarChanged();

                #endregion
            }
            else if (pnlNearbyItems.Children.Contains(entry))
            {
                #region Nearby Items

                pnlNearbyItems.Children.Remove(entry);

                #endregion
            }
            else
            {
                throw new ArgumentException("Can't find the owner of the entry: " + entry.ToString());
            }
        }