mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-30 11:26:53 -05:00
35 lines
711 B
Haxe
35 lines
711 B
Haxe
|
package;
|
||
|
|
||
|
import flixel.util.FlxColor;
|
||
|
import openfl.display.ShaderParameter;
|
||
|
|
||
|
typedef BlendModeShader =
|
||
|
{
|
||
|
var uBlendColor:ShaderParameter<Float>;
|
||
|
}
|
||
|
|
||
|
class BlendModeEffect
|
||
|
{
|
||
|
public var shader(default, null):BlendModeShader;
|
||
|
|
||
|
@:isVar
|
||
|
public var color(default, set):FlxColor;
|
||
|
|
||
|
public function new(shader:BlendModeShader, color:FlxColor):Void
|
||
|
{
|
||
|
shader.uBlendColor.value = [];
|
||
|
this.shader = shader;
|
||
|
this.color = color;
|
||
|
}
|
||
|
|
||
|
function set_color(color:FlxColor):FlxColor
|
||
|
{
|
||
|
shader.uBlendColor.value[0] = color.redFloat;
|
||
|
shader.uBlendColor.value[1] = color.greenFloat;
|
||
|
shader.uBlendColor.value[2] = color.blueFloat;
|
||
|
shader.uBlendColor.value[3] = color.alphaFloat;
|
||
|
|
||
|
return this.color = color;
|
||
|
}
|
||
|
}
|