|  |  |  | @tool | 
					
						
							|  |  |  | extends Node3D | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func get_resource_name(resource:Resource) -> String: | 
					
						
							|  |  |  | 	return resource.resource_path.get_file().trim_suffix('.tres') #todo 性能 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func vector_reduce(vector:Vector2,reduce:float) -> Vector2: | 
					
						
							|  |  |  | 	var len = vector.length() | 
					
						
							|  |  |  | 	if len == 0: | 
					
						
							|  |  |  | 		return vector | 
					
						
							|  |  |  | 	var new_len = max(len - reduce,0) | 
					
						
							|  |  |  | 	var scale_rate = new_len / len | 
					
						
							|  |  |  | 	return vector * scale_rate | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func refresh_animation_lib(): | 
					
						
							|  |  |  | 	var animation_library_path = "res://resource/skill_animation_library/animation_library.tres" | 
					
						
							|  |  |  | 	var animation_library = load(animation_library_path) | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	var dir_path = "res://resource/skill_animation" | 
					
						
							|  |  |  | 	var dir = DirAccess.open(dir_path) | 
					
						
							|  |  |  | 	for file in dir.get_files(): | 
					
						
							|  |  |  | 		var path = dir_path + "/" + file | 
					
						
							|  |  |  | 		var res = load(path) | 
					
						
							|  |  |  | 		if res is Animation: | 
					
						
							|  |  |  | 			var animation = res as Animation | 
					
						
							|  |  |  | 			var animation_name = Util.get_resource_name(animation) | 
					
						
							|  |  |  | 			print(animation_name) | 
					
						
							|  |  |  | 			animation_library.add_animation(animation_name,animation) | 
					
						
							|  |  |  | 			animation_library.animation_added.emit(animation_name) | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	ResourceSaver.save(animation_library,animation_library_path) | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | func get_all_player_skill(): | 
					
						
							|  |  |  | 	var ret = [] | 
					
						
							|  |  |  | 	var dir_path = "res://config/player_skill" | 
					
						
							|  |  |  | 	var dir = DirAccess.open(dir_path) | 
					
						
							|  |  |  | 	for file in dir.get_files(): | 
					
						
							|  |  |  | 		var path = dir_path + "/" + file | 
					
						
							|  |  |  | 		var res = load(path) | 
					
						
							|  |  |  | 		if res is PlayerSkillCfg: | 
					
						
							|  |  |  | 			ret.append(res) | 
					
						
							|  |  |  | 	return ret |