public void StopCameraRecording(CameraConfigContext camera) { if (camera.Data != null) { MixCast.RecordingCameras.Remove(camera.Data); } }
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; }
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(); }
} //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); }
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); }
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); } }
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; }
private void Awake() { context = GetComponent <CameraConfigContext>(); }
public void SetToConfig(CameraConfigContext context) { MixCast.Desktop.displayingCameras[SlotIndex] = context.Data; }
protected virtual void Reset() { context = GetComponentInParent <CameraConfigContext>(); }