private void Start() { CreateCommandBuffer(); if (m_renderersCache == null) { m_renderersCache = gameObject.GetComponent <IRenderersCache>(); } if (m_meshesCache == null) { m_meshesCache = gameObject.GetComponent <IMeshesCache>(); } RefreshCommandBuffer(); if (m_renderersCache != null) { m_renderersCache.Refreshed += OnRefresh; } if (m_meshesCache != null) { m_meshesCache.Refreshing += OnRefresh; } }
public void Setup(RenderTargetIdentifier camerColorRT, IMeshesCache meshesCache, IRenderersCache renderersCache, ICustomOutlineRenderersCache customRenderersCache) { m_meshesCache = meshesCache; m_renderersCache = renderersCache; m_customRenderersCache = customRenderersCache; m_cameraColorRT = camerColorRT; }
private void DestroyRenderersCache() { if (m_destroyRenderersCache && m_renderersCache != null) { m_renderersCache.Destroy(); m_renderersCache = null; } }
private void Start() { m_cache = GetComponentInChildren <IRenderersCache>(); IOC.Register("SelectedRenderers", m_cache); m_editor = IOC.Resolve <IRTE>(); TryToAddRenderers(m_editor.Selection); m_editor.Selection.SelectionChanged += OnRuntimeEditorSelectionChanged; IOC.RegisterFallback <IOutlineManager>(this); }
public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) { IRenderersCache renderersCache = IOC.Resolve <IRenderersCache>(m_settings.RenderersCacheName); if ((renderersCache == null || renderersCache.IsEmpty)) { return; } m_ScriptablePass.Setup(renderersCache); renderer.EnqueuePass(m_ScriptablePass); }
public void Destroy(IRenderersCache cache) { Data tuple; if (m_renderersCache.TryGetValue(cache, out tuple)) { Destroy(tuple.MonoBehaviour); for (int i = 0; i < tuple.RTECameras.Count; ++i) { Destroy(tuple.RTECameras[i]); } m_renderersCache.Remove(cache); } }
private void Start() { m_graphics = IOC.Resolve <IRTEGraphics>(); m_cache = m_graphics.CreateSharedRenderersCache(CameraEvent.AfterEverything); m_cache.MaterialOverride = m_selectionMaterial; m_editor = IOC.Resolve <IRTE>(); TryToAddRenderers(m_editor.Selection); m_editor.Selection.SelectionChanged += OnRuntimeEditorSelectionChanged; IOC.RegisterFallback <IOutlineManager>(this); StartCoroutine(EnableSelectionFullScreenPass()); }
public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) { if ((renderingData.cameraData.camera.cullingMask & m_settings.LayerMask) != 0) { IMeshesCache meshesCache = IOC.Resolve <IMeshesCache>(m_settings.MeshesCacheName); IRenderersCache renderersCache = IOC.Resolve <IRenderersCache>(m_settings.RenderersCacheName); if ((meshesCache == null || meshesCache.IsEmpty) && (renderersCache == null || renderersCache.IsEmpty)) { return; } var src = renderer.cameraColorTarget; m_scriptablePass.Setup(src, meshesCache, renderersCache); renderer.EnqueuePass(m_scriptablePass); } }
public void RegisterCamera(Camera camera) { m_cameras.Add(camera.gameObject); foreach (KeyValuePair <IMeshesCache, Data> kvp in m_meshesCache) { IMeshesCache cache = kvp.Key; Data data = kvp.Value; CreateRTECamera(camera.gameObject, data.Event, cache, data.RTECameras); } foreach (KeyValuePair <IRenderersCache, Data> kvp in m_renderersCache) { IRenderersCache cache = kvp.Key; Data data = kvp.Value; CreateRTECamera(camera.gameObject, data.Event, cache, data.RTECameras); } }
private void Start() { IOC.Register("HighlightRenderers", m_cache = gameObject.AddComponent <RenderersCache>()); m_editor = IOC.Resolve <IRTE>(); m_activeWindow = m_editor.ActiveWindow; if (m_activeWindow != null && m_editor.ActiveWindow.WindowType == RuntimeWindowType.Scene) { m_selectionComponent = m_activeWindow.IOCContainer.Resolve <IRuntimeSelectionComponent>(); } m_editor.Object.Enabled += OnObjectEnabled; m_editor.Object.Disabled += OnObjectDisabled; m_editor.Object.ComponentAdded += OnComponentAdded; m_editor.Selection.SelectionChanged += OnSelectionChanged; m_editor.ActiveWindowChanged += OnActiveWindowChanged; }
public void RegisterCamera(Camera camera) { foreach (KeyValuePair <IMeshesCache, Data> kvp in m_meshesCache) { IMeshesCache cache = kvp.Key; Data data = kvp.Value; CreateRTECamera(camera.gameObject, data.Event, cache, data.RTECameras); } foreach (KeyValuePair <IRenderersCache, Data> kvp in m_renderersCache) { IRenderersCache cache = kvp.Key; Data data = kvp.Value; CreateRTECamera(camera.gameObject, data.Event, cache, data.RTECameras); } if (!m_cameras.ContainsKey(camera)) { m_cameras.Add(camera, new Dictionary <CameraEvent, 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); }
public void Setup(IRenderersCache renderersCache) { m_renderersCache = renderersCache; }
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); }
public void CreateRenderersCache() { DestroyRenderersCache(); m_renderersCache = gameObject.AddComponent <RenderersCache>(); m_destroyRenderersCache = true; }
public PBSelectionPickerRendererURP(IRenderersCache cache) { m_cache = cache; }