private RTECamera _CreateCamera(Camera camera, CameraEvent cameraEvent, bool createMeshesCache, bool createRenderersCache) { bool wasActive = camera.gameObject.activeSelf; camera.gameObject.SetActive(false); RTECamera rteCamera = camera.gameObject.AddComponent <RTECamera>(); rteCamera.Event = cameraEvent; if (createMeshesCache) { MeshesCache meshesCache = gameObject.AddComponent <MeshesCache>(); meshesCache.RefreshMode = CacheRefreshMode.Manual; rteCamera.MeshesCache = meshesCache; } if (createRenderersCache) { RenderersCache renderersCache = gameObject.AddComponent <RenderersCache>(); rteCamera.RenderersCache = renderersCache; } camera.gameObject.SetActive(wasActive); return(rteCamera); }
private static void CreateRTECamera(GameObject camera, CameraEvent cameraEvent, IRenderersCache cache, List <RTECamera> rteCameras) { RTECamera rteCamera = camera.AddComponent <RTECamera>(); rteCamera.Event = cameraEvent; rteCamera.RenderersCache = cache; rteCameras.Add(rteCamera); }
private static void DestroyRTECameras(Camera camera, Data data) { List <RTECamera> rteCameras = data.RTECameras; for (int i = rteCameras.Count - 1; i >= 0; i--) { RTECamera rteCamera = rteCameras[i]; if (rteCamera != null && rteCamera.gameObject == camera.gameObject) { Destroy(rteCameras[i]); rteCameras.RemoveAt(i); } } }
private static void CreateRTECamera(GameObject camera, CameraEvent cameraEvent, IRenderersCache cache, List <RTECamera> rteCameras) { bool wasActive = camera.gameObject.activeSelf; camera.SetActive(false); RTECamera rteCamera = camera.AddComponent <RTECamera>(); rteCamera.Event = cameraEvent; rteCamera.RenderersCache = cache; rteCameras.Add(rteCamera); camera.SetActive(wasActive); }
private RTECamera _CreateCamera(Camera camera, CameraEvent cameraEvent, bool createMeshesCache, bool createRenderersCache) { bool wasActive = camera.gameObject.activeSelf; camera.gameObject.SetActive(false); RTECamera rteCamera = camera.gameObject.AddComponent <RTECamera>(); rteCamera.Event = cameraEvent; if (createMeshesCache) { rteCamera.CreateMeshesCache(); } if (createRenderersCache) { rteCamera.CreateRenderersCache(); } camera.gameObject.SetActive(wasActive); return(rteCamera); }
public IRTECamera CreateCamera(Camera camera) { RenderersCache renderersCache = camera.gameObject.AddComponent <RenderersCache>(); MeshesCache meshesCache = camera.gameObject.AddComponent <MeshesCache>(); meshesCache.RefreshMode = CacheRefreshMode.Manual; RTECamera rteCamera = camera.gameObject.AddComponent <RTECamera>(); rteCamera.RenderersCache = renderersCache; rteCamera.MeshesCache = meshesCache; if (RenderPipelineInfo.Type == RPType.Standard) { rteCamera.Event = CameraEvent.BeforeImageEffects; } else { rteCamera.Event = CameraEvent.AfterImageEffectsOpaque; } return(rteCamera); }