/// <summary> /// Create the individual readout module using the Readout Module prefab /// </summary> /// <param name="module">The readout module interface</param> private void CreateModule(IBasicModule module) { GameObject mod = Instantiate(m_ModulePrefab); if (mod == null) { return; } mod.transform.SetParent(m_ModuleTransform, false); BasicOrbit_Module bMod = mod.GetComponent <BasicOrbit_Module>(); if (bMod == null) { return; } bMod.setModule(module); bMod.gameObject.SetActive(module.IsVisible || module.AlwaysShow); Modules.Add(bMod); }
/// <summary> /// Update panel visibility based on the status of each readout module /// Update any active modules found /// </summary> private void Update() { if (panelInterface == null) { return; } if (!panelInterface.IsVisible) { return; } if (panelInterface.AnyActive || dragging) { if (inactive) { inactive = false; Fade(1, false); if (cg != null) { cg.interactable = true; cg.blocksRaycasts = true; } } } else { if (!inactive) { inactive = true; Fade(0, false); if (cg != null) { cg.interactable = false; cg.blocksRaycasts = false; } } return; } for (int i = Modules.Count - 1; i >= 0; i--) { BasicOrbit_Module mod = Modules[i]; if (mod == null) { continue; } if (!mod.IsVisible) { if (mod.gameObject.activeSelf) { mod.gameObject.SetActive(false); } continue; } if (mod.IsActive) { if (!mod.gameObject.activeSelf) { mod.gameObject.SetActive(true); } mod.UpdateModule(); } else if (mod.gameObject.activeSelf) { mod.gameObject.SetActive(false); } } }