Example #1
0
        void IOverlayUiBank.RegisterCanvas <T>(T overlayUiCanvas)
        {
            if (canvasBank == null)
            {
                Debug.LogError($"has not inited {this.GetType().Name}");
                return;
            }

            OverlayUiStatus <T> status = StatusCache <T> .Cache;

            if (status == null)
            {
                Debug.LogError($"has not inited status by using Show function: {typeof(T).Name}");
                return;
            }

            if (!status.TrySetUiCanvas(overlayUiCanvas))
            {
                return;
            }

            CanvasInStratum canvasInStratum = new CanvasInStratum(
                ConstStratum.Overlay,
                overlayUiCanvas.OrderInStratum,
                overlayUiCanvas.CanvasOrderUpdater);

            canvasBank.AddCanvas(canvasInStratum);
        }
        void IFrontmostUiBank.RegisterCanvas <T>(T residentUiCanvas)
        {
            if (canvasBank == null)
            {
                Debug.LogError($"has not inited {this.GetType().Name}");
                return;
            }

            CanvasInStratum canvas = new CanvasInStratum(
                ConstStratum.Frontmost,
                residentUiCanvas.OrderInStratum,
                residentUiCanvas.CanvasOrderUpdater);

            canvasBank.AddCanvas(canvas);
        }
Example #3
0
        void IBackgroundUiBank.EnqueueCanvas <T>(T backgroundUiCanvas)
        {
            if (canvasBank == null)
            {
                Debug.LogError($"has not inited {this.GetType().Name}");
                return;
            }

            backgroundUiCanvasList.RemoveAll(c => c.IsDestroyed);
            backgroundUiCanvasList.Add(backgroundUiCanvas);

            CanvasInStratum canvasInStratum = new CanvasInStratum(
                ConstStratum.Background,
                // 呼び出し順に登録するのですべて同じOrderInStratumで登録する
                0,
                backgroundUiCanvas.CanvasOrderUpdater);

            canvasBank.AddCanvas(canvasInStratum);
        }
Example #4
0
        void ICoreUiBank.NotifyPrepared <T>(T coreUiCanvas)
        {
            if (!CheckInited())
            {
                return;
            }

            currentCoreUiCanvas = coreUiCanvas;

            CanvasInStratum canvasInStratum = new CanvasInStratum(
                ConstStratum.Core,
                // 呼び出し順に登録するのですべて同じOrderInStratumで登録する
                0,
                coreUiCanvas.CanvasOrderUpdater);

            canvasBank.AddCanvas(canvasInStratum);

            isPrepared = true;
            TryEntry();
        }
Example #5
0
        void IPopupUiBank.RegisterCanvas <T>(T popupUiCanvas)
        {
            if (canvasBank == null)
            {
                Debug.LogError($"has not inited {this.GetType().Name}");
                return;
            }

            uiCanvasList.RemoveAll(ui => ui == null);
            uiCanvasList.Add(popupUiCanvas);

            CanvasInStratum canvas = new CanvasInStratum(
                ConstStratum.Popup,
                // 呼び出し順に登録するのですべて同じOrderInStratumで登録する
                0,
                popupUiCanvas.CanvasOrderUpdater);
            IEnumerable <CameraMat> cameraMats = EnumerateCameraMats(uiCanvasList);

            canvasBank.AddCanvas(canvas, cameraMats);
        }