/// <summary> /// Assign variables, and hookup to API. /// </summary> private void Start() { TimeManager.Instance.EveryFrame += Instance_EveryFrame; // Root should already exist just grab child columnRootObjects = new List <GameObject>(); foreach (Transform child in transform) { columnRootObjects.Add(child.gameObject); } // Load Settings allGroups = new Dictionary <PerformanceGroup, BasePerformanceHUDElement[]>(); PerformanceGroup[] groups = PrototypeManager.PerformanceHUD.Values.SelectMany(x => x.groups).ToArray(); allGroups.Add(new PerformanceGroup("none", new string[0], new Parameter[0], true), new BasePerformanceHUDElement[0]); List <BasePerformanceHUDElement> elements = new List <BasePerformanceHUDElement>(); // Convert the dictionary of specialised elements to a more generalised format for (int i = 0; i < groups.Length; i++) { for (int j = 0; j < groups[i].elementData.Length; j++) { if (FunctionsManager.PerformanceHUD.HasFunction("Get" + groups[i].elementData[j])) { BasePerformanceHUDElement element = FunctionsManager.PerformanceHUD.Call("Get" + groups[i].elementData[j]).ToObject <BasePerformanceHUDElement>(); element.parameterData = groups[i].parameterData[j]; element.InitializeLUA(); elements.Add(element); } else { Debug.LogWarning("Get" + groups[i] + groups[i].elementData[j] + "() Doesn't exist"); } } allGroups.Add(groups[i], elements.ToArray()); elements.Clear(); } // Setup UI DirtyUI(); }
/// <summary> /// Assign variables, and hookup to API. /// </summary> private void Start() { TimeManager.Instance.EveryFrame += Instance_EveryFrame; // Root should already exist just grab child columnRootObjects = new List <GameObject>(); foreach (Transform child in transform) { columnRootObjects.Add(child.gameObject); } // Load Settings allGroups = new Dictionary <PerformanceGroup, BasePerformanceHUDElement[]>(); PerformanceGroup[] groups = PrototypeManager.PerformanceHUD.Values.SelectMany(x => x.groups).ToArray(); allGroups.Add(new PerformanceGroup("none", new string[0], true), new BasePerformanceHUDElement[0]); for (int i = 0; i < groups.Length; i++) { BasePerformanceHUDElement[] elements = new BasePerformanceHUDElement[groups[i].elementNames.Length]; for (int j = 0; j < groups[i].elementNames.Length; j++) { if (FunctionsManager.PerformanceHUD.HasFunction("Get" + groups[i].elementNames[j])) { elements[j] = FunctionsManager.PerformanceHUD.Call("Get" + groups[i].elementNames[j]).ToObject <BasePerformanceHUDElement>(); } else { Debug.LogWarning("Get" + groups[i].elementNames[j] + "() Doesn't exist"); } } allGroups.Add(groups[i], elements); } // Setup UI DirtyUI(); }