예제 #1
0
        private Camera GetCamera()
        {
            if (m_camera != null)
            {
                return(m_camera);
            }

            m_camera = GetMainCamera();
            if (m_camera != null)
            {
                OnNewCameraFound?.Invoke(m_camera);
                return(m_camera);
            }

            m_camera = GetAnyCamera();
            if (m_camera != null)
            {
                OnNewCameraFound?.Invoke(m_camera);
            }
            return(m_camera);
        }
예제 #2
0
        private Camera FetchCamera()
        {
            if (m_camera != null)
            {
                return(m_camera);
            }

            foreach (CameraDelegate cameraDelegate in CameraFetchDelegates)
            {
                m_camera = cameraDelegate.Invoke();
                if (m_camera == null)
                {
                    continue;
                }

                OnNewCameraFound?.Invoke(m_camera);
                return(m_camera);
            }

            return(m_camera);
        }