44 lines
1.0 KiB
GDScript3
44 lines
1.0 KiB
GDScript3
|
@tool
|
||
|
extends Sprite2D
|
||
|
|
||
|
@export var mode: Light2D.BlendMode = Light2D.BlendMode.BLEND_MODE_ADD:
|
||
|
set(new_val):
|
||
|
mode = new_val
|
||
|
if not is_node_ready():
|
||
|
return
|
||
|
_setup()
|
||
|
@export_group("Ambient Light", "ambient_light_")
|
||
|
@export var ambient_light_scale := 1.0:
|
||
|
set(new_val):
|
||
|
ambient_light_scale = new_val
|
||
|
if not is_node_ready():
|
||
|
return
|
||
|
_setup()
|
||
|
@export var ambient_light_energy := 1.0:
|
||
|
set(new_val):
|
||
|
ambient_light_energy = new_val
|
||
|
if not is_node_ready():
|
||
|
return
|
||
|
_setup()
|
||
|
@export var ambient_light_color := Color8(0xff, 0xff, 0xff, 0xff):
|
||
|
set(new_val):
|
||
|
ambient_light_color = new_val
|
||
|
if not is_node_ready():
|
||
|
return
|
||
|
_setup()
|
||
|
|
||
|
@onready var texture_light = %TexturePointLight2D as PointLight2D
|
||
|
@onready var natural_light = %NaturalPointLight2D as PointLight2D
|
||
|
|
||
|
|
||
|
func _ready() -> void:
|
||
|
_setup()
|
||
|
|
||
|
|
||
|
func _setup() -> void:
|
||
|
texture_light.texture = texture
|
||
|
natural_light.scale = Vector2(ambient_light_scale, ambient_light_scale)
|
||
|
natural_light.energy = ambient_light_energy
|
||
|
natural_light.color = ambient_light_color
|
||
|
natural_light.blend_mode = mode
|