extends Node class_name Effect @onready var afterimage = preload("res://scene/effect/afterimage/normal.tscn") @onready var corpse = preload("res://scene/effect/afterimage/normal.tscn") @onready var readiness_hero = preload("res://scene/effect/decal/readiness_hero.tscn") @onready var readiness_monster = preload("res://scene/effect/decal/readiness_monster.tscn") @onready var character = (get_owner() as Character) @onready var view = (%View as View) @onready var status = (%Status as Status) var rediness : Decal func init(type:Enum.ECharacterType,body_scale:Vector3): match type: Enum.ECharacterType.Player:rediness = readiness_hero.instantiate() Enum.ECharacterType.Monster:rediness = readiness_monster.instantiate() if rediness: rediness.scale = body_scale *1.5 rediness.scale.y = 10 rediness.position = Vector3.DOWN * 4 add_child(rediness) func _process(delta): if status.move_dir: var angle = status.move_dir.angle_to(Vector2.RIGHT) rediness.rotation.y = angle func cast_image(res:Resource): var new_afterimage = afterimage.instantiate() as Afterimage new_afterimage.position = character.view_pos() new_afterimage.name = "afterimage" new_afterimage.velocity = character.velocity / 4 view.clone(new_afterimage) SignalManager.effect_create.emit(new_afterimage) func cast_after_image():cast_image(afterimage) func cast_corpse():cast_image(corpse)