public AUIManagerParts Get(Type key) { AUIManagerParts value = null; if (!_uiManagers.TryGetValue(key, out value)) { Log.Error("The UI manager does not contains a manager of type [" + key.ToString() + "]"); } return(value); }
public override void Init() { for (int i = 0; i < _canvas.Count; ++i) { if (String.IsNullOrEmpty(_canvas[i])) { Log.UI("Null value for the tag of a canvas detected inside the UIManager"); continue; } if (GameObject.FindGameObjectWithTag(_canvas[i]) == null) { GameObject newCanvas = Instantiate(_canvasArchetype, null).gameObject; newCanvas.tag = _canvas[i]; newCanvas.transform.SetAsLastSibling(); } } if (GameObject.FindObjectOfType <EventSystem>() == null) { if (_eventSystemArchetype == null) { Log.Error("No Event System in the scene and no event system set as archetype inside the UIManager"); } else { Instantiate(_eventSystemArchetype, null).transform.SetAsLastSibling(); } } _uiManagers = new Dictionary <Type, AUIManagerParts>(); for (int i = 0; i < _UIManagerParts.Count; ++i) { if (_UIManagerParts[i] == null) { Log.Error("Element at index [" + i + "] of UIManagerParts is null"); continue; } if (!_uiManagers.ContainsKey(_UIManagerParts[i].GetType())) { AUIManagerParts newPart = Instantiate(_UIManagerParts[i], GetCanvas(_UIManagerParts[i].CanvasToInstantiate)); newPart.Init(); _uiManagers.Add(_UIManagerParts[i].GetType(), newPart); } else { Log.Error("An object of type [" + _UIManagerParts[i].GetType().ToString() + "] is already present inside the UIManager."); } } }