protected override void OnSelect(ToolController owner)
    {
        Debug.Log("Satellite Tool Selected");
        satInv = owner.GetComponent <SatelliteInventory>();
        if (satInv == null || satInv.StoredSatellites.Count == 0 || satInv.StoredSatellites[0] == null)
        {
            satInv.NoSatTooltip.SetActive(true);
            //Debug.Log("NoSat Found");
            return;
        }

        //this is such a gross way of checking what satellite type a thing is im sorry
        if (satInv.StoredSatellites[0].name == "FuelSatellite")
        {
            foreach (var cloud in cloudVisualizers)
            {
                cloud.VisualizeArea();
            }
        }

        SatellitePreview = GameObject.Instantiate(satInv.StoredSatellites[0].PreviewPrefab);
        SatellitePreview.transform.position = satInv.SatelliteSpawnPos.position;
        SatellitePreview.transform.rotation = satInv.SatelliteSpawnPos.rotation;
        SatellitePreview.transform.SetParent(owner.GetComponentInChildren <Camera>().transform);
        SatBehavior = SatellitePreview.GetComponent <SatelliteBehavior>();
    }