Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
                }
            }
        }