chendian 1 year ago
commit 48dd479442

@ -1,4 +1,4 @@
[gd_scene load_steps=20 format=3 uid="uid://eoydwrunmm5n"] [gd_scene load_steps=21 format=3 uid="uid://eoydwrunmm5n"]
[ext_resource type="Script" path="res://script/manager/game_manager.gd" id="1_q2t80"] [ext_resource type="Script" path="res://script/manager/game_manager.gd" id="1_q2t80"]
[ext_resource type="Script" path="res://script/manager/level_manager.gd" id="2_ewhkj"] [ext_resource type="Script" path="res://script/manager/level_manager.gd" id="2_ewhkj"]
@ -17,6 +17,7 @@
[ext_resource type="PackedScene" uid="uid://b78dbmcsioaa4" path="res://scene/ui/status_screen.tscn" id="9_bki0o"] [ext_resource type="PackedScene" uid="uid://b78dbmcsioaa4" path="res://scene/ui/status_screen.tscn" id="9_bki0o"]
[ext_resource type="PackedScene" uid="uid://0uonhojhfgi" path="res://scene/ui/menu_screen.tscn" id="10_sky2n"] [ext_resource type="PackedScene" uid="uid://0uonhojhfgi" path="res://scene/ui/menu_screen.tscn" id="10_sky2n"]
[ext_resource type="Script" path="res://script/manager/input_manager.gd" id="12_vfqm4"] [ext_resource type="Script" path="res://script/manager/input_manager.gd" id="12_vfqm4"]
[ext_resource type="PackedScene" uid="uid://8rcvw1vnjcf7" path="res://scene/character/character.tscn" id="18_2ae4v"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b4sw2"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_b4sw2"]
shader = ExtResource("2_iwyj8") shader = ExtResource("2_iwyj8")
@ -94,6 +95,9 @@ process_mode = 3
script = ExtResource("12_vfqm4") script = ExtResource("12_vfqm4")
[node name="EditorTool" type="Node3D" parent="."] [node name="EditorTool" type="Node3D" parent="."]
visible = false
script = ExtResource("5_n3qhi") script = ExtResource("5_n3qhi")
[node name="Character" parent="EditorTool" instance=ExtResource("18_2ae4v")]
[connection signal="item_rect_changed" from="GameManager/Stage" to="GameManager/Stage" method="_on_item_rect_changed"] [connection signal="item_rect_changed" from="GameManager/Stage" to="GameManager/Stage" method="_on_item_rect_changed"]

@ -2,52 +2,81 @@
extends Node3D extends Node3D
@export var refresh_animation_lib: bool: @export var refresh_animation_lib: bool:
get: return false get: return false
set(_value): set(_value):
Util.refresh_animation_lib() Util.refresh_animation_lib()
@export var refresh_mesh_lib: bool: @export var refresh_mesh_lib: bool:
get: return false get: return false
set(_value): set(_value):
process_mesh_lib("res://resource/mesh_level") process_mesh_lib("res://resource/mesh_level")
print("done.") print("done.")
@export var refresh_uid: bool: @export var refresh_uid: bool:
get: return false get: return false
set(_value): set(_value):
process_dir("res://") process_dir("res://")
print("done.") print("done.")
var selected_skill_file: String
func _process(delta: float) -> void:
if not Engine.is_editor_hint():
return
var selected_paths = EditorInterface.get_selected_paths()
if len(selected_paths) != 1:
return
var selected_path = selected_paths[0]
if selected_skill_file == selected_path:
return
selected_skill_file = selected_path
if not selected_path.ends_with(".tres"):
return
var res := ResourceLoader.load(selected_path)
if not res is SkillCfg:
return
var skill_cfg = res as SkillCfg
if not skill_cfg.skill_animation:
return
var character_skill = $Character/Skill as AnimationPlayer
EditorInterface.edit_node(character_skill)
var animation_name: String = "animation_library/%s" % Util.get_resource_name(res)
character_skill.current_animation = animation_name
print(selected_path)
EditorInterface.edit_resource(res)
func process_mesh_lib(dir_name: String) -> void: func process_mesh_lib(dir_name: String) -> void:
var dir := DirAccess.open(dir_name) var dir := DirAccess.open(dir_name)
if not dir: if not dir:
print("An error occurred when trying to access the path: ", dir_name) print("An error occurred when trying to access the path: ", dir_name)
return return
var path_list: Array[Variant] = [] var path_list: Array[Variant] = []
dir.list_dir_begin() dir.list_dir_begin()
for file_name in dir.get_files(): for file_name in dir.get_files():
if file_name.ends_with(".vox"): if file_name.ends_with(".vox"):
path_list.append(dir_name + "/" + file_name) path_list.append(dir_name + "/" + file_name)
Util.refresh_mesh_library(path_list) Util.refresh_mesh_library(path_list)
func process_dir(dir_name: String) -> void: func process_dir(dir_name: String) -> void:
var dir := DirAccess.open(dir_name) var dir := DirAccess.open(dir_name)
if dir: if dir:
dir.list_dir_begin() dir.list_dir_begin()
var file_name: String = dir.get_next() var file_name: String = dir.get_next()
if dir_name.ends_with("/"): if dir_name.ends_with("/"):
dir_name = dir_name.trim_suffix("/") dir_name = dir_name.trim_suffix("/")
while file_name != "": while file_name != "":
if dir.current_is_dir(): if dir.current_is_dir():
print("-----" + dir_name + "/" + file_name + " -----") print("-----" + dir_name + "/" + file_name + " -----")
process_dir(dir_name + "/" + file_name) process_dir(dir_name + "/" + file_name)
elif file_name.get_extension() in [ "tres", "res" ]: elif file_name.get_extension() in [ "tres", "res" ]:
print(dir_name + "/" + file_name) print(dir_name + "/" + file_name)
var res := ResourceLoader.load(dir_name + "/" + file_name) var res := ResourceLoader.load(dir_name + "/" + file_name)
ResourceSaver.save(res) ResourceSaver.save(res)
file_name = dir.get_next() file_name = dir.get_next()
else: else:
print("An error occurred when trying to access the path: ", dir_name) print("An error occurred when trying to access the path: ", dir_name)

@ -1,6 +1,7 @@
extends Node3D extends Node3D
#==scene== #==scene==
var scene_character: PackedScene = load("res://scene/character/character.tscn")
var scene_player: PackedScene = load("res://scene/character/player.tscn") var scene_player: PackedScene = load("res://scene/character/player.tscn")
var scene_monster: PackedScene = load("res://scene/character/monster.tscn") var scene_monster: PackedScene = load("res://scene/character/monster.tscn")
var scene_bullet: PackedScene = load("res://scene/character/bullet.tscn") var scene_bullet: PackedScene = load("res://scene/character/bullet.tscn")

Loading…
Cancel
Save