Beispiel #1
0
 public void StopCameraRecording(CameraConfigContext camera)
 {
     if (camera.Data != null)
     {
         MixCast.RecordingCameras.Remove(camera.Data);
     }
 }
Beispiel #2
0
 public void StartCameraRecording(CameraConfigContext camera)
 {
     if (camera.Data != null)
     {
         MixCast.RecordingCameras.Add(camera.Data);
     }
 }
        protected virtual void OnEnable()
        {
            if (context == null)
            {
                context = GetComponentInParent <CameraConfigContext>();
            }

            context.DataChanged += HandleDataChanged;
        }
Beispiel #4
0
        private void Update()
        {
            createCams.AddRange(MixCast.Settings.cameras);
            destroyCams.AddRange(CameraInstances);
            for (int i = 0; i < CameraInstances.Count; i++)
            {
                MixCastData.CameraCalibrationData camData = CameraInstances[i].Data;
                for (int j = createCams.Count - 1; j >= 0; j--)
                {
                    if (createCams[j] == camData)
                    {
                        createCams.RemoveAt(j);
                    }
                }
            }
            for (int i = 0; i < MixCast.Settings.cameras.Count; i++)
            {
                for (int j = destroyCams.Count - 1; j >= 0; j--)
                {
                    if (destroyCams[j].Data == MixCast.Settings.cameras[i])
                    {
                        destroyCams.RemoveAt(j);
                    }
                }
            }

            for (int i = 0; i < destroyCams.Count; i++)
            {
                CameraInstances.Remove(destroyCams[i]);
                Destroy(destroyCams[i].gameObject);
            }

            for (int i = 0; i < createCams.Count; i++)
            {
                bool wasPrefabActive = cameraPrefab.gameObject.activeSelf;
                cameraPrefab.gameObject.SetActive(false);

                CameraConfigContext instance = Instantiate(cameraPrefab, transform, false);

                instance.Data = createCams[i];

                CameraInstances.Add(instance);

                cameraPrefab.gameObject.SetActive(wasPrefabActive);

                instance.gameObject.SetActive(MixCast.Active);
            }

            destroyCams.Clear();
            createCams.Clear();

            // Process LibAVStuff logs
            MixCastAV.LogOutput();
        }
Beispiel #5
0
        }                                                           //Assigned to the MixCastCamera that is being processed between FrameStarted and FrameEnded

        public static MixCastCamera FindCamera(CameraConfigContext context)
        {
            foreach (var cam in ActiveCameras)
            {
                if (cam.context.Data == context.Data)
                {
                    return(cam);
                }
            }
            return(null);
        }
 public static InputFeedProjection FindProjection(CameraConfigContext context)
 {
     for (int i = 0; i < ActiveProjections.Count; i++)
     {
         var proj = ActiveProjections[i];
         if (proj.context.Data == context.Data)
         {
             return(proj);
         }
     }
     return(null);
 }
Beispiel #7
0
 public static InputFeed FindInputFeed(CameraConfigContext context)
 {
     for (int i = 0; i < ActiveFeeds.Count; i++)
     {
         var feed = ActiveFeeds[i];
         if (feed.context.Data == context.Data)
         {
             return(feed);
         }
     }
     return(null);
 }
Beispiel #8
0
 public void ToggleCameraRecording(CameraConfigContext camera)
 {
     if (camera.Data == null)
     {
         return;
     }
     if (MixCast.RecordingCameras.Contains(camera.Data))
     {
         MixCast.RecordingCameras.Remove(camera.Data);
     }
     else
     {
         MixCast.RecordingCameras.Add(camera.Data);
     }
 }
        void GenerateCameras()
        {
            CameraInstances = new List <CameraConfigContext>();

            bool wasPrefabActive = cameraPrefab.gameObject.activeSelf;

            cameraPrefab.gameObject.SetActive(false);
            for (int i = 0; i < MixCast.Settings.cameras.Count; i++)
            {
                CameraConfigContext instance = Instantiate(cameraPrefab, transform, false);

                instance.Data = MixCast.Settings.cameras[i];

                CameraInstances.Add(instance);
            }
            cameraPrefab.gameObject.SetActive(wasPrefabActive);

            SetCamerasActive(MixCast.Active);
        }
        private void Update()
        {
            List <MixCastData.CameraCalibrationData> createCams = new List <MixCastData.CameraCalibrationData>();
            List <CameraConfigContext> destroyCams = new List <CameraConfigContext>();

            createCams.AddRange(MixCast.Settings.cameras);
            destroyCams.AddRange(CameraInstances);
            for (int i = 0; i < CameraInstances.Count; i++)
            {
                createCams.RemoveAll(c => c == CameraInstances[i].Data);
            }
            for (int i = 0; i < MixCast.Settings.cameras.Count; i++)
            {
                destroyCams.RemoveAll(c => c.Data == MixCast.Settings.cameras[i]);
            }

            for (int i = 0; i < destroyCams.Count; i++)
            {
                CameraInstances.Remove(destroyCams[i]);
                Destroy(destroyCams[i].gameObject);
            }

            for (int i = 0; i < createCams.Count; i++)
            {
                bool wasPrefabActive = cameraPrefab.gameObject.activeSelf;
                cameraPrefab.gameObject.SetActive(false);

                CameraConfigContext instance = Instantiate(cameraPrefab, transform, false);

                instance.Data = createCams[i];

                CameraInstances.Add(instance);

                cameraPrefab.gameObject.SetActive(wasPrefabActive);

                instance.gameObject.SetActive(MixCast.Active);
            }
        }
Beispiel #11
0
        void GenerateCameras()
        {
            CameraInstances = new List <CameraConfigContext>();

            bool wasPrefabActive = cameraPrefab.gameObject.activeSelf;

            cameraPrefab.gameObject.SetActive(false);
            for (int i = 0; i < MixCast.Settings.cameras.Count; i++)
            {
                CameraConfigContext instance = Instantiate(cameraPrefab, transform, false);

                instance.transform.localPosition = Vector3.zero;
                instance.transform.localRotation = Quaternion.identity;
                instance.transform.localScale    = Vector3.one;

                instance.Data = MixCast.Settings.cameras[i];

                CameraInstances.Add(instance);
            }
            cameraPrefab.gameObject.SetActive(wasPrefabActive);

            SetCamerasActive(MixCast.Active);
        }
 public void SetToConfig(CameraConfigContext context)
 {
     MixCast.DisplayingCamera = context.Data;
 }
Beispiel #13
0
 private void Awake()
 {
     context = GetComponent <CameraConfigContext>();
 }
 public void SetToConfig(CameraConfigContext context)
 {
     MixCast.Desktop.displayingCameras[SlotIndex] = context.Data;
 }
Beispiel #15
0
 protected virtual void Reset()
 {
     context = GetComponentInParent <CameraConfigContext>();
 }