mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
fix(子弹系统): 修复子弹分裂和折射逻辑并添加调试配置
修复子弹分裂和折射方法未返回子弹实例的问题,确保子弹能正确添加到场景中。同时在Rooster角色中添加非发布环境下的子弹分裂和折射调试配置。
This commit is contained in:
@@ -19,6 +19,8 @@ func ai():
|
||||
func split(newBullet: BulletBase, _index: int, _total: int, _lastBullet: float):
|
||||
if newBullet is VectorStar:
|
||||
newBullet.forwarded = false
|
||||
return newBullet
|
||||
func refract(newBullet: BulletBase, _entity: EntityBase, _index: int, _total: int, _lastBullet: float):
|
||||
if newBullet is VectorStar:
|
||||
newBullet.forwarded = false
|
||||
return newBullet
|
||||
|
||||
@@ -11,6 +11,9 @@ func register():
|
||||
elif bullet is FoxZhua:
|
||||
EffectController.create(ComponentManager.getEffect("BloodFall"), texture.global_position).shot()
|
||||
)
|
||||
if !WorldManager.isRelease():
|
||||
fields[FieldStore.Entity.BULLET_SPLIT] = 2
|
||||
fields[FieldStore.Entity.BULLET_REFRACTION] = 2
|
||||
func ai():
|
||||
texture.play("walk")
|
||||
var direction = Vector2(
|
||||
|
||||
@@ -152,7 +152,7 @@ func trySplit():
|
||||
var cloned = duplicate() as BulletBase
|
||||
cloned.rotation = deg_to_rad(360.0 / total * i)
|
||||
cloned.isChildSplit = true
|
||||
split(cloned, i, total, last)
|
||||
get_parent().add_child(split(cloned, i, total, last))
|
||||
func tryRefract():
|
||||
if is_instance_valid(launcher) and !isChildRefract:
|
||||
var value = launcher.fields.get(FieldStore.Entity.BULLET_REFRACTION)
|
||||
@@ -164,7 +164,7 @@ func tryRefract():
|
||||
var cloned = duplicate() as BulletBase
|
||||
cloned.look_at(entity.position)
|
||||
cloned.isChildRefract = true
|
||||
refract(cloned, entity, i, total, last)
|
||||
get_parent().add_child(refract(cloned, entity, i, total, last))
|
||||
|
||||
# 抽象方法
|
||||
func firstFrame():
|
||||
@@ -181,10 +181,10 @@ func succeedToHit(_dmg: float, _entity: EntityBase):
|
||||
pass
|
||||
func register():
|
||||
pass
|
||||
func split(_newBullet: BulletBase, _index: int, _total: int, _lastBullet: float):
|
||||
pass
|
||||
func refract(_newBullet: BulletBase, _entity: EntityBase, _index: int, _total: int, _lastBullet: float):
|
||||
pass
|
||||
func split(newBullet: BulletBase, _index: int, _total: int, _lastBullet: float):
|
||||
return newBullet
|
||||
func refract(newBullet: BulletBase, _entity: EntityBase, _index: int, _total: int, _lastBullet: float):
|
||||
return newBullet
|
||||
|
||||
static func generate(
|
||||
bullet: PackedScene,
|
||||
|
||||
Reference in New Issue
Block a user