Example #1
0
    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);
    }
Example #2
0
    // 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();
            }
        }
    }