public IEnumerator 優先順の設定が反映される()
        {
            BaseCamera.GetUniversalAdditionalCameraData().renderType     = CameraRenderType.Base;
            OverlayCamera1.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Overlay;
            OverlayCamera2.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Overlay;
            OverlayCamera3.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Overlay;
            var component1 = OverlayCamera1.gameObject.AddComponent <AddOverlayCameraToCameraStack>();
            var component2 = OverlayCamera2.gameObject.AddComponent <AddOverlayCameraToCameraStack>();
            var component3 = OverlayCamera3.gameObject.AddComponent <AddOverlayCameraToCameraStack>();

            component1.GetType().GetField("priority", BindingFlags.Instance | BindingFlags.NonPublic)?.SetValue(component1, 10.0f);
            component2.GetType().GetField("priority", BindingFlags.Instance | BindingFlags.NonPublic)?.SetValue(component2, -10.0f);
            component3.GetType().GetField("priority", BindingFlags.Instance | BindingFlags.NonPublic)?.SetValue(component3, 0.0f);
            yield return(null);

            var cameraStack = BaseCamera.GetUniversalAdditionalCameraData().cameraStack;

            Assert.That(cameraStack[0], Is.EqualTo(OverlayCamera2));
            Assert.That(cameraStack[1], Is.EqualTo(OverlayCamera3));
            Assert.That(cameraStack[2], Is.EqualTo(OverlayCamera1));
            yield return(SceneManager.UnloadSceneAsync(OverlayScene3));

            yield return(SceneManager.UnloadSceneAsync(OverlayScene2));

            yield return(SceneManager.UnloadSceneAsync(OverlayScene1));

            yield return(SceneManager.UnloadSceneAsync(BaseScene));
        }
示例#2
0
        public IEnumerator OverlayCameraが正しくCameraStackに追加される()
        {
            BaseCamera.GetUniversalAdditionalCameraData().renderType    = CameraRenderType.Base;
            OverlayCamera.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Overlay;
            OverlayCamera.gameObject.AddComponent <AddOverlayCameraToCameraStack>();
            yield return(null);

            Assert.That(
                BaseCamera
                .GetUniversalAdditionalCameraData()
                .cameraStack
                .Contains(OverlayCamera),
                Is.True
                );
            yield return(SceneManager.UnloadSceneAsync(SingleScene));
        }
示例#3
0
        public IEnumerator OverwriteRenderTypeを真にするとCameraStackに追加される()
        {
            BaseCamera.GetUniversalAdditionalCameraData().renderType    = CameraRenderType.Base;
            OverlayCamera.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Base;
            var addOverlayCameraToCameraStack = OverlayCamera.gameObject.AddComponent <AddOverlayCameraToCameraStack>();

            addOverlayCameraToCameraStack.GetType().GetField("overwriteRenderType", BindingFlags.Instance | BindingFlags.NonPublic)?.SetValue(addOverlayCameraToCameraStack, true);
            yield return(null);

            Assert.That(
                BaseCamera
                .GetUniversalAdditionalCameraData()
                .cameraStack
                .Contains(OverlayCamera),
                Is.True
                );
            yield return(SceneManager.UnloadSceneAsync(SingleScene));
        }