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>(); }