mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
fix(BulletBase): 添加父节点有效性检查防止崩溃
在子弹分裂和折射时检查父节点是否有效,避免无效引用导致的崩溃
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"]
|
||||
[ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"]
|
||||
[ext_resource type="PackedScene" uid="uid://dlaks67h2osms" path="res://components/Weapons/ChainGun.tscn" id="3_s7kxe"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3crr8r7y3oho" path="res://components/Weapons/BlueCrystal.tscn" id="3_da2ca"]
|
||||
[ext_resource type="AudioStream" uid="uid://cdrevrq7n6yqa" path="res://resources/sounds/effect/Boing.mp3" id="4_66s6c"]
|
||||
[ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"]
|
||||
[ext_resource type="AudioStream" uid="uid://dmxh3bpk8vyy5" path="res://resources/sounds/effect/Coin.mp3" id="5_xnbhq"]
|
||||
@@ -58,8 +58,7 @@ metadata/_edit_vertical_guides_ = [71.0]
|
||||
[node name="weaponStore" parent="." index="1"]
|
||||
process_mode = 4
|
||||
|
||||
[node name="ChainGun" parent="weaponStore" index="0" instance=ExtResource("3_s7kxe")]
|
||||
debugRebuild = false
|
||||
[node name="BlueCrystal" parent="weaponStore" index="0" instance=ExtResource("3_da2ca")]
|
||||
|
||||
[node name="sprint" parent="sounds" index="0"]
|
||||
stream = ExtResource("4_66s6c")
|
||||
|
||||
@@ -152,7 +152,8 @@ func trySplit():
|
||||
cloned.rotation += deg_to_rad(360.0 / total * i + 180)
|
||||
cloned.canDuplicateSelf = false
|
||||
cloned.launcher = launcher
|
||||
cloned.parent = parent
|
||||
if is_instance_valid(parent):
|
||||
cloned.parent = parent
|
||||
get_parent().add_child.call_deferred(split(cloned, i, total, last))
|
||||
func tryRefract():
|
||||
if is_instance_valid(launcher) and canDuplicateSelf:
|
||||
@@ -173,7 +174,8 @@ func tryRefract():
|
||||
cloned.look_at(entity.position)
|
||||
cloned.canDuplicateSelf = false
|
||||
cloned.launcher = launcher
|
||||
cloned.parent = parent
|
||||
if is_instance_valid(parent):
|
||||
cloned.parent = parent
|
||||
get_parent().add_child.call_deferred(refract(cloned, entity, i, total, last))
|
||||
|
||||
# 抽象方法
|
||||
|
||||
Reference in New Issue
Block a user