Esempio n. 1
0
        /// <inheritdoc />
        public void Initialize(UIManagerConfig uiManagerConfig)
        {
            var eventsSystem = new GameObject("EvensSystem", typeof(EventSystem), typeof(StandaloneInputModule));

            DontDestroyOnLoad(eventsSystem.gameObject);

            gameObject.layer = LayerMask.NameToLayer("UI");

            if (_widgetLibrary == null)
            {
                _widgetLibrary = uiManagerConfig.widgetsLibrary;
            }

            if (_canvas == null)
            {
                _canvas = GetComponent <Canvas>();
            }
            _canvas.renderMode    = uiManagerConfig.renderMode;
            _canvas.planeDistance = uiManagerConfig.planeDistance;

            if (_canvasScaler == null)
            {
                _canvasScaler = GetComponent <CanvasScaler>();
            }
            _canvasScaler = GetComponent <CanvasScaler>();

            _canvasScaler.uiScaleMode         = uiManagerConfig.canvasScaleMode;
            _canvasScaler.screenMatchMode     = uiManagerConfig.canvasScreenMatchMode;
            _canvasScaler.referenceResolution = new Vector2(uiManagerConfig.ReferenceResolution.x, uiManagerConfig.ReferenceResolution.y);
            _canvasScaler.matchWidthOrHeight  = uiManagerConfig.matchWidthOrHeight;

            CreateUILayers(uiManagerConfig);

            if (UiCamera != null || !uiManagerConfig.createUICamera)
            {
                return;
            }

            var uiCameraGo = new GameObject("UICamera");

            uiCameraGo.transform.position = new Vector3(0, 0, -10);
            DontDestroyOnLoad(uiCameraGo);

            UiCamera                  = uiCameraGo.AddComponent <Camera>();
            UiCamera.cullingMask      = 1 << LayerMask.NameToLayer("UI");
            UiCamera.orthographic     = uiManagerConfig.orthographic;
            UiCamera.orthographicSize = uiManagerConfig.orthographicSize;
            UiCamera.clearFlags       = uiManagerConfig.cameraClearFlags;
            UiCamera.backgroundColor  = Color.grey;
            UiCamera.allowHDR         = false;
            UiCamera.allowMSAA        = false;

            UiCamera.GetUniversalAdditionalCameraData().renderType = uiManagerConfig.cameraRenderType;

            if (uiManagerConfig.createAudioListener)
            {
                uiCameraGo.AddComponent <AudioListener>();
            }
        }
Esempio n. 2
0
        private void CreateUILayers(UIManagerConfig uiManagerConfig)
        {
            _uiLayers = new List <UILayer>();

            for (var i = 0; i < uiManagerConfig.uiLayersList.Count; i++)
            {
                var layerName = $"UI-Layer-{i}-{uiManagerConfig.uiLayersList[i]}";
                var uiLayer   = new GameObject(layerName).AddComponent <UILayer>();
                uiLayer.transform.SetParent(transform, false);
                uiLayer.Init(this, i, renderMode: uiManagerConfig.renderMode);
                _uiLayers.Add(uiLayer);
            }
        }
Esempio n. 3
0
 public void Construct(UIManagerConfig uiManagerConfig, WidgetFactory widgetFactory)
 {
     _uiManagerConfig = uiManagerConfig;
     _widgetFactory   = widgetFactory;
 }