private void MoveLineToPanel(Transform panel, List <ShipPanelLine> lines, ShipPanelLine line)
    {
        RectTransform rTransform = line.GetComponent <RectTransform>();

        rTransform.SetParent(panel);
        rTransform.anchoredPosition = new Vector2(0f, (lines.Count + 0.5f) * -lineHeight);
        rTransform.localScale       = Vector3.one;
        rTransform.sizeDelta        = Vector2.zero;
        lines.Add(line);
        panel.GetComponent <RectTransform>().sizeDelta = new Vector2(0f, lineHeight * lines.Count);
    }
    public void SelectLine(GameObject obj)
    {
        var line = obj.GetComponent <ShipPanelLine>();

        if (selectedLine != null)
        {
            selectedLine.OnLineDeselected();
        }

        selectedLine = line;
        line.OnLineSelected();
    }
    private void RemoveLineFromList(List <ShipPanelLine> list, ShipPanelLine line)
    {
        bool lineRemoved = false;

        for (int l = 0; l < list.Count; l++)
        {
            if (list[l] == line)
            {
                lineRemoved = true;

                list.RemoveAt(l);
                l--;
            }
            else if (lineRemoved)
            {
                list[l].GetComponent <RectTransform>().anchoredPosition += new Vector2(0f, lineHeight);
            }
        }
    }
 void OnShipUndocked(ShipPanelLine line)
 {
     RemoveLineFromList(playerTradingPanelLines, line);
     RemoveLineFromList(stationTradingPanelLines, line);
     Destroy(line.gameObject);
 }