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