mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-03 18:27:13 +08:00
fix(BulletBase): 修复子弹分裂和折射时的空引用问题
确保在子弹分裂和折射时检查返回的子弹对象是否有效,避免空引用异常
This commit is contained in:
@@ -37,6 +37,7 @@ var initialSpeed: float = 0
|
||||
var initialDamage: float = 0
|
||||
var speedScale: float = 1
|
||||
var isFirstFrame: bool = true
|
||||
var cycleStateAngle: float = 0
|
||||
|
||||
func _ready():
|
||||
initialSpeed = speed
|
||||
@@ -182,7 +183,9 @@ func trySplit():
|
||||
cloned.launcher = launcher
|
||||
if is_instance_valid(parent):
|
||||
cloned.parent = parent
|
||||
get_parent().add_child.call_deferred(split(cloned, i, total, last))
|
||||
var splited = split(cloned, i, total, last)
|
||||
if !is_instance_valid(splited): continue
|
||||
get_parent().add_child.call_deferred(splited)
|
||||
func tryRefract():
|
||||
if is_instance_valid(launcher) and canDuplicateSelf:
|
||||
var value = launcher.fields.get(FieldStore.Entity.BULLET_REFRACTION)
|
||||
@@ -204,7 +207,9 @@ func tryRefract():
|
||||
cloned.launcher = launcher
|
||||
if is_instance_valid(parent):
|
||||
cloned.parent = parent
|
||||
get_parent().add_child.call_deferred(refract(cloned, entity, i, total, last))
|
||||
var refracted = refract(cloned, entity, i, total, last)
|
||||
if !is_instance_valid(refracted): continue
|
||||
get_parent().add_child.call_deferred(refracted)
|
||||
|
||||
# 抽象方法
|
||||
func firstFrame():
|
||||
|
||||
Reference in New Issue
Block a user