From 50b496e5c41528f17bd39f58d677ae4a8f0d508f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Sun, 14 Dec 2025 15:37:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor(Statemachine):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AD=90=E5=BC=B9=E5=88=86=E8=A3=82=E5=92=8C=E6=8A=98=E5=B0=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=B8=AD=E7=9A=84=E4=BD=99=E6=95=B0=E8=AE=A1?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将余数计算提取为变量last,避免重复计算并提高代码可读性 --- scripts/Statemachine/BulletBase.gd | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/Statemachine/BulletBase.gd b/scripts/Statemachine/BulletBase.gd index 7ac0a8d..9cdb73f 100644 --- a/scripts/Statemachine/BulletBase.gd +++ b/scripts/Statemachine/BulletBase.gd @@ -142,16 +142,18 @@ func trySplit(): if is_instance_valid(launcher) and !isChildSplit: var value = launcher.fields.get(FieldStore.Entity.BULLET_SPLIT) var total = MathTool.shrimpRate(value) + var last = value - floor(value) for i in total: - split(i, total, total - floor(total)) + split(i, total, last) func tryRefract(): if is_instance_valid(launcher) and !isChildRefract: var value = launcher.fields.get(FieldStore.Entity.BULLET_REFRACTION) var total = MathTool.shrimpRate(value) + var last = value - floor(value) for i in total: var entity = EntityTool.findClosetEntity(position, get_tree(), !launcher.isPlayer(), launcher.isPlayer(), [launcher]) if is_instance_valid(entity): - refract(entity, i, total, value - floor(total)) + refract(entity, i, total, last) # 抽象方法 func ai():