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); } }
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); }