public static OnRenderMode Get(LightingMainBuffer2D buffer) { foreach (OnRenderMode meshModeObject in List) { if (meshModeObject.mainBuffer == buffer) { return(meshModeObject); } } GameObject meshRendererMode = new GameObject("On Render"); OnRenderMode onRenderMode = meshRendererMode.AddComponent <OnRenderMode>(); onRenderMode.mainBuffer = buffer; onRenderMode.Initialize(buffer); onRenderMode.UpdateLayer(); if (Lighting2D.ProjectSettings.managerInternal == LightingSettings.ManagerInternal.HideInHierarchy) { meshRendererMode.hideFlags = meshRendererMode.hideFlags | HideFlags.HideInHierarchy; } onRenderMode.name = "On Render: " + buffer.name; return(onRenderMode); }
// Mesh-Render Mode Drawing static public void OnRender(LightingMainBuffer2D mainBuffer) { Camera camera = mainBuffer.cameraSettings.GetCamera(); if (camera == null) { return; } if (mainBuffer.cameraSettings.renderMode == CameraSettings.RenderMode.Disabled) { return; } if (Lighting2D.RenderingMode != RenderingMode.OnRender) { return; } OnRenderMode onRenderMode = OnRenderMode.Get(mainBuffer); if (onRenderMode == null) { return; } onRenderMode.UpdatePosition(); if (onRenderMode.meshRenderer != null) { if (mainBuffer.cameraSettings.renderMode == CameraSettings.RenderMode.Hidden) { onRenderMode.meshRenderer.enabled = false; return; } onRenderMode.meshRenderer.enabled = true; if (onRenderMode.meshRenderer.sharedMaterial != mainBuffer.GetMaterial()) { onRenderMode.meshRenderer.sharedMaterial = mainBuffer.GetMaterial(); } if (onRenderMode.meshRenderer.sharedMaterial == null) { onRenderMode.meshRenderer.sharedMaterial = mainBuffer.GetMaterial(); } } }