private static void DrawLightSprites_scriptable(Pass pass) { List <Scriptable.LightSprite2D> spriteRendererList = Scriptable.LightSprite2D.List; int spriteRendererCount = spriteRendererList.Count; if (spriteRendererCount < 1) { return; } for (int i = 0; i < spriteRendererCount; i++) { Scriptable.LightSprite2D id = spriteRendererList[i]; if (id.NightLayer != pass.layerId) { continue; } LightSprite.Draw_scriptable(id, pass.camera); } }
static public void Draw_scriptable(Scriptable.LightSprite2D id, Camera camera) { if (id.Sprite == null) { return; } if (id.InCamera(camera) == false) { return; } Vector2 offset = -camera.transform.position; Vector2 position = id.Position; Vector2 scale = id.Scale; float rot = id.Rotation; Color color = id.Color; Material material = Lighting2D.materials.GetAdditive(); material.SetColor("_TintColor", color); material.mainTexture = id.Sprite.texture; VirtualSpriteRenderer virtualSprite = new VirtualSpriteRenderer(); virtualSprite.sprite = id.Sprite; GLExtended.color = Color.white; Universal.Sprite.FullRect.Simple.Draw(id.spriteMeshObject, material, virtualSprite, offset + position, scale, rot); material.mainTexture = null; }