1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-31 00:11:54 +08:00

refactor: 使用ComponentManager统一管理资源加载

将所有直接使用`load("res://components/...")`加载资源的代码替换为通过`ComponentManager`统一管理的方式,提高代码的可维护性和资源管理的统一性
This commit is contained in:
2025-09-21 13:11:31 +08:00
parent e688f7f0c1
commit e551a6db61
17 changed files with 44 additions and 44 deletions
+1 -1
View File
@@ -14,4 +14,4 @@ func ai():
PresetBulletAI.trace(self, tracer.getTrackingAnchor(), clamp(speed / 50 * tracePower, 0, 1))
PresetBulletAI.forward(self, rotation)
func destroy(_b):
EffectController.create(load("res://components/Effects/LGBTBoom.tscn"), position).shot()
EffectController.create(ComponentManager.getEffect("LGBTBoom"), position).shot()
+1 -1
View File
@@ -21,7 +21,7 @@ func ai():
warn.size = Vector2.ONE * 2 * radius * (timeLived() / countdown)
label.text = "NUCLEAR WARNING %.1f" % ((countdown - timeLived()) / 1000)
func destroy(_b):
EffectController.create(load("res://components/Effects/NuclearExplosion.tscn"), global_position).shot()
EffectController.create(ComponentManager.getEffect("NuclearExplosion"), global_position).shot()
hitbox.disabled = false
CameraManager.shake(5000, 500, func(_c, t, r): return t * r) # 震屏强度随进度递减
await TickTool.frame(5)
+3 -3
View File
@@ -3,12 +3,12 @@ extends BulletBase
func ai():
PresetBulletAI.forward(self, rotation)
func destroy(_beacuseMap: bool):
var eff = EffectController.create(load("res://components/Effects/PurpleCrystalExplosion.tscn"), global_position)
var eff = EffectController.create(ComponentManager.getEffect("PurpleCrystalExplosion"), global_position)
eff.rotation = rotation
eff.shot()
func split(index, total, _last):
BulletBase.generate(
load("res://components/Bullets/PurpleCrystal.tscn"),
ComponentManager.getBullet("PurpleCrystal"),
launcher,
position,
rotation + deg_to_rad(360 / total * index),
@@ -17,7 +17,7 @@ func split(index, total, _last):
)
func refract(entity, _index, _total, _last):
BulletBase.generate(
load("res://components/Bullets/PurpleCrystal.tscn"),
ComponentManager.getBullet("PurpleCrystal"),
launcher,
position,
position.angle_to_point(entity.position) if is_instance_valid(entity) else randf_range(0, deg_to_rad(360)),