Ejemplo n.º 1
0
        /// <summary>
        /// Create the individual readout modules for the panel
        /// </summary>
        /// <param name="modules">The list of available readout modules for this panel</param>
        private void CreateModules(IList <IBasicModule> modules)
        {
            if (modules == null)
            {
                return;
            }

            if (panelInterface == null)
            {
                return;
            }

            if (m_ModulePrefab == null || m_ModuleTransform == null)
            {
                return;
            }

            for (int i = modules.Count - 1; i >= 0; i--)
            {
                IBasicModule module = modules[i];

                if (module == null)
                {
                    continue;
                }

                CreateModule(module);
            }
        }
        public void OnUpdate()
        {
            panelString.Length = 0;

            for (int i = 0; i < Modules.Count; i++)
            {
                IBasicModule mod = Modules[i];

                if (mod == null)
                {
                    continue;
                }

                mod.Update(panelString);

                if (mod.LineBreak)
                {
                    panelString.Append("\n");
                }
                else if (i != Modules.Count - 1)
                {
                    panelString.Append(" ");
                }
            }

            m_ModuleText.OnTextUpdate.Invoke(panelString.ToString());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// This method is used to initialize the readout module; sets the readout title field
        /// </summary>
        /// <param name="module">The readout module interface</param>
        public void setModule(IBasicModule module)
        {
            if (module == null || m_Title == null || m_TextModule == null)
            {
                return;
            }

            moduleInterface = module;

            m_Title.OnTextUpdate.Invoke(module.ModuleTitle + ":");
        }
        private void CreateModuleSection(IBasicModule module, Transform parent)
        {
            BasicOrbit_SettingsModule element = Instantiate(m_ModulePrefab).GetComponent <BasicOrbit_SettingsModule>();

            if (element == null)
            {
                return;
            }

            element.transform.SetParent(parent, false);

            element.setModule(module);
        }
        private void CreateManeuverModules(IList <IBasicModule> modules)
        {
            if (m_ModulePrefab == null || basicInterface == null || modules == null || m_ManeuverBar == null)
            {
                return;
            }

            for (int i = modules.Count - 1; i >= 0; i--)
            {
                IBasicModule module = modules[i];

                CreateModuleSection(module, m_ManeuverBar.transform);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// This method is used to initialize the readout module; sets the readout title field
        /// </summary>
        /// <param name="module">The readout module interface</param>
        public void setModule(IBasicModule module)
        {
            if (module == null || m_Title == null || m_TextModule == null)
            {
                return;
            }

            moduleInterface = module;

            m_Title.OnTextUpdate.Invoke(module.ModuleTitle + ":");

            if (module.CutoffText)
            {
                module.SetTMP(m_TextModule.gameObject);
            }
        }
        /// <summary>
        /// This method is used to initialize the UI element with the readout module
        /// </summary>
        /// <param name="module">The readout module interface</param>
        public void setModule(IBasicModule module)
        {
            if (module == null || m_Title == null || m_Toggle == null || m_ShowAlways == null)
            {
                return;
            }

            moduleInterface = module;

            m_Title.OnTextUpdate.Invoke(module.ModuleTitle);

            m_Toggle.isOn = module.IsVisible;

            m_ShowAlways.isOn = module.AlwaysShow;

            loaded = true;
        }
Ejemplo n.º 8
0
        private void CreateModule(IBasicModule module)
        {
            GameObject mod = Instantiate(m_SettingModulePrefab);

            if (mod == null)
            {
                return;
            }

            mod.transform.SetParent(m_SettingModuleTransform, false);

            BasicOrbit_SettingsModule bMod = mod.GetComponent <BasicOrbit_SettingsModule>();

            if (bMod == null)
            {
                return;
            }

            bMod.setModule(module);
        }
Ejemplo n.º 9
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);
        }
        private List <IBasicModule> CalculateOrder(List <IBasicModule> modules)
        {
            List <IBasicModule> smallMods = new List <IBasicModule>();
            List <IBasicModule> largeMods = new List <IBasicModule>();

            for (int i = modules.Count - 1; i >= 0; i--)
            {
                IBasicModule mod = modules[i];

                if (noDVMode && mod.DVModule)
                {
                    continue;
                }

                if (mod.SmallSize)
                {
                    smallMods.Add(mod);
                }
                else
                {
                    largeMods.Add(mod);
                }
            }

            smallMods.Sort((a, b) => a.FixedOrder.CompareTo(b.FixedOrder));
            largeMods.Sort((a, b) => a.FixedOrder.CompareTo(b.FixedOrder));

            for (int i = 0; i < smallMods.Count; i++)
            {
                smallMods[i].Order = i + 1;
            }

            for (int i = 0; i < largeMods.Count; i++)
            {
                largeMods[i].Order = i + 1;
            }

            if (largeMods.Count == 0)
            {
                for (int i = 0; i < smallMods.Count; i++)
                {
                    smallMods[i].Order = i + 1;

                    if (smallMods[i].Order == 2)
                    {
                        smallMods[i].LineBreak = true;
                    }
                    else
                    {
                        smallMods[i].LineBreak = false;
                    }
                }
            }
            else if (largeMods.Count == 1)
            {
                largeMods[0].Order = 2;

                if (smallMods.Count == 1)
                {
                    smallMods[0].Order = 3;

                    smallMods[0].LineBreak = false;
                    largeMods[0].LineBreak = true;
                }
                else if (smallMods.Count == 2)
                {
                    smallMods[0].Order = 3;
                    smallMods[1].Order = 4;

                    smallMods[0].LineBreak = false;
                    smallMods[1].LineBreak = false;
                    largeMods[0].LineBreak = true;
                }
                else
                {
                    for (int i = 0; i < smallMods.Count; i++)
                    {
                        smallMods[i].Order = i <= 0 ? 1 : i + 2;

                        smallMods[i].LineBreak = false;
                    }

                    largeMods[0].LineBreak = true;
                }
            }
            else if (largeMods.Count == 2)
            {
                largeMods[0].Order = 2;
                largeMods[1].Order = 4;

                if (smallMods.Count == 1)
                {
                    smallMods[0].Order = 3;

                    smallMods[0].LineBreak = false;

                    largeMods[0].LineBreak = true;
                    largeMods[1].LineBreak = false;
                }
                else if (smallMods.Count == 2)
                {
                    smallMods[0].Order = 1;
                    smallMods[1].Order = 3;

                    smallMods[0].LineBreak = false;
                    smallMods[1].LineBreak = false;

                    largeMods[0].LineBreak = true;
                    largeMods[1].LineBreak = false;
                }
                else
                {
                    for (int i = 0; i < smallMods.Count; i++)
                    {
                        smallMods[i].Order = (i * 2) + 1;

                        smallMods[i].LineBreak = false;
                    }

                    largeMods[0].LineBreak = true;
                    largeMods[1].LineBreak = true;
                }
            }
            else
            {
                for (int i = 0; i < largeMods.Count; i++)
                {
                    largeMods[i].Order = (i + 1) * 2;

                    if (largeMods[i].Order == 6)
                    {
                        largeMods[i].LineBreak = false;
                    }
                    else
                    {
                        largeMods[i].LineBreak = true;
                    }
                }

                for (int i = 0; i < smallMods.Count; i++)
                {
                    smallMods[i].Order = (i * 2) + 1;

                    smallMods[i].LineBreak = false;
                }
            }

            List <IBasicModule> orderedMods = new List <IBasicModule>();

            orderedMods.AddRange(smallMods);
            orderedMods.AddRange(largeMods);

            orderedMods.Sort((a, b) => a.Order.CompareTo(b.Order));

            return(orderedMods);
        }