mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-27 22:41:56 +08:00
ac643e426b
实现新的招架球子弹类型(ParryBallBullet)及其相关行为 新增CycleTimer类用于管理子弹的周期性运动 在EntityBase中添加计时器管理功能,支持创建和应用周期计时器 添加招架球子弹的资源文件和相关配置
23 lines
689 B
GDScript
23 lines
689 B
GDScript
extends BulletBase
|
|
class_name ParrierBullet
|
|
|
|
@export var parryRate: float = 1
|
|
|
|
func hitBullet(bullet: BulletBase):
|
|
if BulletTool.canDamage(bullet, launcher):
|
|
if MathTool.rate(parryRate):
|
|
var eff = EffectController.create(ComponentManager.getEffect("Parry"), position + (bullet.position - position).normalized() * 150)
|
|
eff.modulate = bullet.modulate.blend(bullet.texture.modulate)
|
|
eff.shot()
|
|
bullet.tryDestroy()
|
|
var cycler = launcher.getOrCreateCycleTimer("parry", 2000, 100)
|
|
if len(cycler.bullets) < 5:
|
|
for b in BulletBase.generate(
|
|
ComponentManager.getBullet("ParryBall"),
|
|
launcher,
|
|
position,
|
|
0
|
|
):
|
|
if b is ParryBallBullet:
|
|
pass
|