From e4e4917bcb6d717c43a0d4df2086905e8b91c8e0 Mon Sep 17 00:00:00 2001 From: hecomi Date: Sat, 12 Nov 2016 02:05:09 +0900 Subject: [PATCH] fix manager non-initialization bug. --- .../Scripts/MultipleMonitorCreator.cs | 3 ++ Assets/uDesktopDuplication/Scripts/Manager.cs | 32 ++++++++++--------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/Assets/uDesktopDuplication/Examples/Scripts/MultipleMonitorCreator.cs b/Assets/uDesktopDuplication/Examples/Scripts/MultipleMonitorCreator.cs index efd8ff5..72f4438 100644 --- a/Assets/uDesktopDuplication/Examples/Scripts/MultipleMonitorCreator.cs +++ b/Assets/uDesktopDuplication/Examples/Scripts/MultipleMonitorCreator.cs @@ -22,6 +22,7 @@ public class MultipleMonitorCreator : MonoBehaviour void Start() { + uDesktopDuplication.Manager.CreateInstance(); Create(); } @@ -68,6 +69,8 @@ public class MultipleMonitorCreator : MonoBehaviour { ResetRemoveTimer(); + Debug.Log(uDesktopDuplication.Manager.monitorCount); + // Create monitors for (int i = 0; i < uDesktopDuplication.Manager.monitorCount; ++i) { // Create monitor obeject diff --git a/Assets/uDesktopDuplication/Scripts/Manager.cs b/Assets/uDesktopDuplication/Scripts/Manager.cs index c73e71b..845e526 100644 --- a/Assets/uDesktopDuplication/Scripts/Manager.cs +++ b/Assets/uDesktopDuplication/Scripts/Manager.cs @@ -11,21 +11,7 @@ public class Manager : MonoBehaviour private static Manager instance_; public static Manager instance { - get - { - if (instance_) { - return instance_; - } - - var manager = FindObjectOfType(); - if (manager) { - manager.Awake(); - return manager; - } - - var go = new GameObject("uDesktopDuplicationManager"); - return go.AddComponent(); - } + get { return CreateInstance(); } } private List monitors_ = new List(); @@ -63,6 +49,22 @@ public class Manager : MonoBehaviour public delegate void ReinitializeHandler(); public static event ReinitializeHandler onReinitialized; + public static Manager CreateInstance() + { + if (instance_) { + return instance_; + } + + var manager = FindObjectOfType(); + if (manager) { + manager.Awake(); + return manager; + } + + var go = new GameObject("uDesktopDuplicationManager"); + return go.AddComponent(); + } + void Awake() { Lib.SetDebugMode(debugMode);