From a523efd4fccd742627b5d307a771dd3c0a9697ce341acb3bbd8b896fd2c7aa26 Mon Sep 17 00:00:00 2001 From: copecone Date: Wed, 7 Oct 2026 11:40:39 +0900 Subject: [PATCH] Simplify Singleton in `RendererUIManager` --- Patch/Game/scnGamePatch.cs | 2 +- UI/RendererUIManager.cs | 19 ++----------------- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/Patch/Game/scnGamePatch.cs b/Patch/Game/scnGamePatch.cs index 34bdb3b..d49ff3d 100644 --- a/Patch/Game/scnGamePatch.cs +++ b/Patch/Game/scnGamePatch.cs @@ -131,7 +131,7 @@ public static class scnGamePatch var isLooping = __instance.levelData.miscSettings.GetBool("loopVideo"); // Initialize player. If targetTexture is null (CameraFarPlane mode), it will build a quad in front of targetCamera. - player.Init(videoPath, __instance.videoBG?.targetTexture, isLooping, targetCamera, __instance.videoBG.gameObject); + player.Init(videoPath, __instance.videoBG.targetTexture, isLooping, targetCamera, __instance.videoBG.gameObject); return false; // Skip original UpdateVideo } diff --git a/UI/RendererUIManager.cs b/UI/RendererUIManager.cs index b7507a4..83fb46e 100644 --- a/UI/RendererUIManager.cs +++ b/UI/RendererUIManager.cs @@ -50,20 +50,7 @@ internal sealed class RendererFontProvider : IFontProvider internal class RendererUIManager : MonoBehaviour { - private static RendererUIManager? _instance; - public static RendererUIManager Instance - { - get - { - if (_instance != null) return _instance; - - var go = new GameObject("RendererUIManager"); - DontDestroyOnLoad(go); - - _instance = go.AddComponent(); - return _instance; - } - } + public static RendererUIManager Instance = null!; public static O5Context Context => Instance._context; public O5WindowManager WindowManager => _windowManager; @@ -72,7 +59,7 @@ internal class RendererUIManager : MonoBehaviour private O5WindowManager _windowManager = null!; private void Awake() { - _instance = this; + Instance = this; _context = new O5Context( config: new O5Config { @@ -118,7 +105,5 @@ internal class RendererUIManager : MonoBehaviour private void OnDestroy() { _windowManager.Dispose(); _context.Dispose(); - - if (_instance == this) _instance = null; } } \ No newline at end of file