private void AlertedNewTurbinePlaced(JetStreamT242Controller obj)
 {
     if (obj != null)
     {
         StartCoroutine(TrackNewTurbineCoroutine(obj));
     }
 }
        public void Setup(JetStreamT242Controller jetStreamController)
        {
            if (jetStreamController.IsBeingDeleted)
            {
                return;
            }
            Controller = jetStreamController;

            if (FindAllComponents() == false)
            {
                _foundComponents = false;
                Log.Error("// ============== Error getting all Components ============== //");
                TurnDisplayOff();
                return;
            }

            UpdateLanaguage();

            _foundComponents = true;

            if (Controller.HasBreakerTripped)
            {
                StartCoroutine(PowerOff());
            }
            else
            {
                StartCoroutine(CompleteSetup());
            }
        }
        private void AlertedNewTurbineDestroyed(JetStreamT242Controller obj)
        {
            if (obj != null)
            {
                Log.Info("Removed Sub");
                Turbines.Remove(obj.ID);
                Log.Info("Removed Turbine");

                _marineMonitorDisplay.ItemModified <string>(null);
            }
        }
        private IEnumerator TrackNewTurbineCoroutine(JetStreamT242Controller obj)
        {
            yield return(new WaitForEndOfFrame());

            GameObject newSeaBase = obj?.gameObject?.transform?.parent?.gameObject;

            if (newSeaBase != null && newSeaBase == _seaBase)
            {
                Turbines.Add(obj.ID, obj);
                _marineMonitorDisplay.ItemModified <string>(null);
            }
        }
        private void LoadDisplay(JetStreamT242Controller turbine)
        {
            Log.Info("Load Monitor Display");

            GameObject itemDisplay = Instantiate(LoadItems.TurbineItemPrefab);

            Log.Info("TurbineItemPrefab instantiated");

            itemDisplay.transform.SetParent(_itemsGrid.transform, false);
            Log.Info("itemDisplay parent set");

            TurbineItem turbineItem = itemDisplay.GetOrAddComponent <TurbineItem>();

            turbineItem.Turbine = turbine;
            turbineItem.Setup(this);

            Log.Info($"Display: {turbineItem.Display}");

            Log.Info("Added Turbine Item Component");
        }