Commit f6b882c8 authored by Gavin An's avatar Gavin An

원거리 유닛 추가해보기

parent 05758f71
......@@ -245,7 +245,8 @@ func _try_attack() -> void:
if _model_instance and _model_anim_player:
var model_name: String = _model_instance.name.to_lower()
var library_prefix: String = model_name + "/"
var attack_anim: String = library_prefix + "Slash"
var attack_key: String = "Draw" if model_name == "ranger" else "Slash"
var attack_anim: String = library_prefix + attack_key
if _model_anim_player.has_animation(attack_anim):
anim_length = _model_anim_player.get_animation(attack_anim).length
......@@ -360,7 +361,8 @@ func _update_animations() -> void:
var blend_time: float = 0.2 # 뚝뚝 끊기는 현상을 없애기 위한 0.2초 부드러운 크로스페이드
if has_custom_anims:
var attack_anim: String = library_prefix + "Slash"
var attack_key: String = "Draw" if model_name == "ranger" else "Slash"
var attack_anim: String = library_prefix + attack_key
var run_anim: String = library_prefix + "Running"
var idle_anim: String = library_prefix + "Idle"
......
......@@ -82,7 +82,7 @@ static func attach_weapon(model_instance: Node3D, unit_data: UnitData) -> void:
# 가디언 창 (azure_spear)
weapon_scene_path = "res://assets/models/items/weapons/azure_spear.fbx"
texture_path = "res://assets/models/items/weapons/azure_spear_0.png"
else:
elif unit_data.unit_id == "Unit_Striker":
# 기본값: Striker 검 (azure_blade)
weapon_scene_path = "res://assets/models/items/weapons/azure_blade.fbx"
texture_path = "res://assets/models/items/weapons/azure_blade_0.png"
......
......@@ -94,7 +94,7 @@ func _on_spawn_pressed() -> void:
var random_index: int = randi() % DataManager.unit_templates.size()
var chosen_template: UnitData = DataManager.unit_templates[random_index]
# 유닛 객체 스폰 (Striker 및 Guardian 전용 씬 분기 분할)
# 유닛 객체 스폰 (Striker, Guardian, Ranger 전용 씬 분기 분할)
var target_scene: PackedScene = base_unit_scene
if chosen_template.unit_id == "Unit_Striker":
var striker_scene: PackedScene = load("res://src/entities/units/striker/striker_unit.tscn") as PackedScene
......@@ -104,6 +104,10 @@ func _on_spawn_pressed() -> void:
var guardian_scene: PackedScene = load("res://src/entities/units/guardian/guardian_unit.tscn") as PackedScene
if guardian_scene:
target_scene = guardian_scene
elif chosen_template.unit_id == "Unit_Ranger":
var ranger_scene: PackedScene = load("res://src/entities/units/ranger/ranger_unit.tscn") as PackedScene
if ranger_scene:
target_scene = ranger_scene
var new_unit: Node = target_scene.instantiate()
var parent_scene: Node = get_tree().current_scene
......
@tool
extends SceneTree
func _init() -> void:
var fbx_path: String = "res://assets/models/units/ranger/ranger.fbx"
var scene: PackedScene = load(fbx_path) as PackedScene
if scene:
var inst: Node = scene.instantiate()
print("--- RANGER NODE TREE ---")
_print_node_tree(inst, "")
print("------------------------")
inst.free()
quit()
func _print_node_tree(node: Node, indent: String) -> void:
print(indent + node.name + " (" + node.get_class() + ")")
for child: Node in node.get_children():
_print_node_tree(child, indent + " ")
uid://cgq6k5amp0nob
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment