private void OnEnable()
    {
        targetCargoList = targetCargoPanel.GetComponentInChildren<CargoHoldList>();
        Debug.Assert(!!targetCargoList);

        dragItem.gameObject.SetActive(false);
        var player = SpaceTraderConfig.LocalPlayer;
        playerCargoList.CargoHold = player ? player.Ship.Cargo : null;

        playerCargoList.Refresh();
        shipModules.Refresh();

        if (player && player.Moorable.DockedAtStation)
        {
            targetCargoPanel.gameObject.SetActive(true);
            targetCargoList.Refresh();
            targetCargoList.CargoHold = player.Moorable.DockedAtStation.ItemsForSale;
        }
        else
        {
            targetCargoPanel.gameObject.SetActive(false);
        }

        targetCargoList.HighlightedIndex = CargoHold.BadIndex;
        playerCargoList.HighlightedIndex = CargoHold.BadIndex;
        shipModules.HighlightedIndex = ModuleLoadout.BadIndex;
    }
    public void ShowLoot(LootContainer loot)
    {
        //this can actually get called before Start(), so make sure the ref is set here
        cargoList = GetComponent<CargoHoldList>();

        this.loot = loot;
        title.text = loot.name;
        gameObject.SetActive(true);
        cargoList.Refresh();
    }