示例#1
0
    public void OnRenderObject()
    {
        if (Camera.current != bufferCamera)
        {
            return;
        }

        LightingManager2D manager = LightingManager2D.Get();

        Camera camera = manager.GetCamera();

        if (camera == null)
        {
            return;
        }

        LightingDebug.LightMainBufferUpdates += 1;

        float z = transform.position.z;

        Vector2D offset = new Vector2D(-camera.transform.position);

        Max2D.Check();

        if (manager.drawDayShadows)
        {
            LightingDayLighting.Draw(offset, z);

            float darkness = 1f - manager.shadowDarkness;

            manager.materials.GetAdditive().SetColor("_TintColor", new Color(0.5f, 0.5f, 0.5f, darkness));

            Max2D.DrawImage(manager.materials.GetAdditive(), Vector2.zero, LightingManager2D.Render_Size(), 0, z);
        }

        if (manager.drawRooms)
        {
            DrawRooms(offset, z);

            DrawTilemapRooms(offset, z);
        }

        LightingSpriteBuffer.Draw(offset, z);

        DrawLightingBuffers(z);

        if (manager.drawOcclusion)
        {
            LightingOcclussion.Draw(offset, z);
        }
    }
示例#2
0
    public void OnRenderObject()
    {
        if (Camera.current != bufferCamera)
        {
            return;
        }

        if (Camera.main == null)
        {
            return;
        }

        LightingManager2D.LightingDebug.LightMainBufferUpdates += 1;

        float z = transform.position.z;

        Vector2D offset = new Vector2D(-Camera.main.transform.position);

        Max2D.Check();

        LightingSoftDayShadows.Draw(offset, z);

        foreach (LightingCollider2D id in LightingCollider2D.GetList())
        {
            if (id.dayHeight == false)
            {
                continue;
            }
            Max2D.SetColor(Color.white);
            Max2D.iDrawMesh(id.GetMesh(), id.transform, offset, z);
        }

        float darkness = 1f - LightingManager2D.Get().shadowDarkness;

        LightingManager2D.Get().additiveMaterial.SetColor("_TintColor", new Color(0.5f, 0.5f, 0.5f, darkness));

        float ratio = (float)Screen.width / Screen.height;

        Vector2 size = new Vector2(Camera.main.orthographicSize * ratio, Camera.main.orthographicSize);

        Max2D.DrawImage(LightingManager2D.Get().additiveMaterial, Vector2.zero, size, 0, z);

        DrawRooms(offset, z);

        DrawLightingBuffers(z);

        LightingOcclussion.Draw(offset, z);
    }