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