hero-mark-2/autoloads/stain_layer.gd

27 lines
706 B
GDScript

extends Light2D
onready var viewport: Viewport = $Viewport
func _ready() -> void:
texture = viewport.get_texture()
func _process(delta: float) -> void:
var main_viewport = get_viewport()
if viewport.canvas_transform != main_viewport.canvas_transform:
viewport.canvas_transform = main_viewport.canvas_transform
transform = main_viewport.canvas_transform.inverse()
viewport.render_target_update_mode = Viewport.UPDATE_ONCE
func add_stain(stain: Node2D) -> void:
viewport.add_child(stain)
viewport.render_target_update_mode = Viewport.UPDATE_ONCE
func reset() -> void:
for child in viewport.get_children():
child.queue_free()
viewport.render_target_update_mode = Viewport.UPDATE_ONCE