Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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.");
                }
            }
        }