29 lines
501 B
GDScript
29 lines
501 B
GDScript
@tool
|
|
extends Node2D
|
|
class_name Painting
|
|
|
|
|
|
@export var painting_id: int:
|
|
set(x):
|
|
painting_id = x
|
|
queue_redraw()
|
|
|
|
|
|
@export var overwrite_texture: Texture2D:
|
|
set(x):
|
|
overwrite_texture = x
|
|
queue_redraw()
|
|
|
|
|
|
@export_range(0, 4) var damage: int:
|
|
set(x):
|
|
damage = x
|
|
queue_redraw()
|
|
|
|
|
|
func _draw() -> void:
|
|
%Fail.visible = damage > 3
|
|
%Dmg.visible = damage > 0
|
|
%Dmg.frame = clampi(damage - 1, 0, 2) if damage > 0 else 0
|
|
%Noise.rng_seed = painting_id
|
|
%TextureRect.texture = overwrite_texture
|