1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 15:01:53 +08:00
Files
Dog-Lynx-And-HCN/scripts/Tools/Managers/ComponentManager.gd
T
fallingshrimp d54c050be9 refactor(资源管理): 集中资源加载逻辑到ComponentManager
将分散在各处的资源加载逻辑统一到ComponentManager中管理
添加对UI组件、主题、物品纹理和饲料的集中管理
移除SkillIconBase.tscn并迁移到UI目录
2025-09-21 13:34:51 +08:00

42 lines
1.5 KiB
GDScript

class_name ComponentManager
static var bullets = {}
static var characters = {}
static var effects = {}
static var feeds = []
static var uiComponents = {}
static var themes = {}
static var itemTextures = {}
static func init():
for i in DirTool.listdir("res://components/Bullets"):
bullets[DirTool.getBasenameWithoutExtension(i)] = load(i)
for i in DirTool.listdir("res://components/Characters"):
characters[DirTool.getBasenameWithoutExtension(i)] = load(i)
for i in DirTool.listdir("res://components/Effects"):
effects[DirTool.getBasenameWithoutExtension(i)] = load(i)
for i in DirTool.listdir("res://components/Feeds"):
feeds.append(load(i))
for i in DirTool.listdir("res://components/UI"):
uiComponents[DirTool.getBasenameWithoutExtension(i)] = load(i)
for i in DirTool.listdir("res://themes"):
themes[DirTool.getBasenameWithoutExtension(i)] = load(i)
for i in DirTool.listdir("res://resources/items"):
itemTextures[DirTool.getBasenameWithoutExtension(i)] = load("res://resources/items/%s" % i)
static func getBullet(name: String):
return bullets[name]
static func getCharacter(name: String):
return characters[name]
static func getEffect(name: String):
return effects[name]
static func getFeed(index: int):
return feeds[index]
static func getUIComponent(name: String):
return uiComponents[name]
static func getTheme(name: String):
return themes[name]
static func getItemTexture(name: String):
return itemTextures[name]
static func readResource(path: String):
return load("res://resources/%s" % path)