@tool extends Node2D class_name Character @export var chara_resource: CharacterResource: set(new_resource): chara_resource = new_resource _on_chara_resource_changed() @onready var face: Sprite2D = $Face @onready var mask_eyes: Mask = $MaskEyes @onready var mask_mouth: Mask = $MaskMouth func _on_chara_resource_changed() -> void: if chara_resource == null: return if face != null: face.texture = chara_resource.chara_sprite # Called when the node enters the scene tree for the first time. func _ready() -> void: pass # Replace with function body. # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: if Engine.is_editor_hint(): _engine_process(delta) else: _game_process(delta) func _game_process(delta: float) -> void: pass func _engine_process(delta: float) -> void: if chara_resource == null: return mask_eyes.position = chara_resource.mask_eyes_position mask_eyes.rotation = chara_resource.mask_eyes_rotation mask_mouth.position = chara_resource.mask_mouth_position mask_mouth.rotation = chara_resource.mask_mouth_rotation