mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
refactor(BulletBase): 移除子弹注册方法并添加子子弹标记
移除所有子弹类中的register方法,将属性初始化移至其他位置 在BulletBase的trySplit和tryRefract方法中添加子子弹标记
This commit is contained in:
@@ -3,9 +3,6 @@ class_name BigLaser
|
||||
|
||||
var dotTime: float = 100
|
||||
|
||||
func register():
|
||||
speed = 0
|
||||
penerate = 1
|
||||
func spawn():
|
||||
CameraManager.shake(5000, 100) # 激光会运行5秒(5000毫秒),期间震屏超高强度
|
||||
CameraManager.playAnimation("bigLaser")
|
||||
|
||||
@@ -11,9 +11,6 @@ var traceTime: float = 2000
|
||||
var forwardTime: float = 500
|
||||
var forwarded: bool = false
|
||||
|
||||
func register():
|
||||
speed = 1
|
||||
baseDamage = 1
|
||||
func spawn():
|
||||
myColor = allColor.gradient.sample(randf())
|
||||
superlight.material = superlight.material.duplicate()
|
||||
|
||||
@@ -4,9 +4,6 @@ extends BulletBase
|
||||
|
||||
var myColor: Color
|
||||
|
||||
func register():
|
||||
baseDamage = 1
|
||||
penerate = 1
|
||||
func spawn():
|
||||
myColor = allColor.gradient.sample(randf())
|
||||
setColor(myColor)
|
||||
|
||||
@@ -6,12 +6,8 @@ extends BulletBase
|
||||
@onready var track: ShaderStage = $"%track"
|
||||
@onready var sword: Sprite2D = $"%sword"
|
||||
@onready var points: GPUParticles2D = $"%points"
|
||||
|
||||
var myColor: Color
|
||||
func register():
|
||||
speed = 1
|
||||
baseDamage = 1
|
||||
penerate = 1
|
||||
|
||||
func spawn():
|
||||
myColor = allColor.gradient.sample(randf())
|
||||
track.material = track.material.duplicate()
|
||||
|
||||
@@ -6,13 +6,8 @@ extends BulletBase
|
||||
@onready var leave2: Sprite2D = $"%leave2"
|
||||
@onready var leave3: Sprite2D = $"%leave3"
|
||||
@onready var leave4: Sprite2D = $"%leave4"
|
||||
|
||||
var myColor: Color
|
||||
|
||||
func register():
|
||||
speed = 0
|
||||
baseDamage = 1
|
||||
penerate = 1
|
||||
func spawn():
|
||||
myColor = allColor.gradient.sample(randf())
|
||||
setColor(myColor)
|
||||
|
||||
@@ -4,8 +4,6 @@ extends BulletBase
|
||||
|
||||
var readyTime: float = 1000
|
||||
|
||||
func register():
|
||||
speed = 10
|
||||
func ai():
|
||||
if timeLived() < readyTime:
|
||||
PresetBulletAI.lockLauncher(self, launcher, true)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
extends BulletBase
|
||||
class_name Laser
|
||||
|
||||
func register():
|
||||
penerate = 1
|
||||
func ai():
|
||||
rotation_degrees += 1
|
||||
PresetBulletAI.lockLauncher(self, launcher, true)
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
extends BulletBase
|
||||
class_name ChickSprint
|
||||
|
||||
func register():
|
||||
speed = 0
|
||||
penerate = 1
|
||||
func ai():
|
||||
baseDamage = launcher.velocity.length() / 500.0
|
||||
PresetBulletAI.lockLauncher(self, launcher, true)
|
||||
|
||||
@@ -3,8 +3,6 @@ class_name Diamond
|
||||
|
||||
const traceTime = 1500
|
||||
|
||||
func register():
|
||||
baseDamage = 2
|
||||
func ai():
|
||||
PresetBulletAI.forward(self, rotation)
|
||||
if timeLived() < traceTime:
|
||||
|
||||
@@ -5,8 +5,6 @@ var tracer: EntityBase = null
|
||||
var maxTraceTime: float = 0
|
||||
var tracePower: float = 0
|
||||
|
||||
func register():
|
||||
speed = 1
|
||||
func ai():
|
||||
speed *= 1.05
|
||||
speed = clamp(speed, 0, 20)
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
extends BulletBase
|
||||
|
||||
func register():
|
||||
penerate = 1
|
||||
func ai():
|
||||
PresetBulletAI.lockLauncher(self, launcher, true)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
extends BulletBase
|
||||
class_name Pencil
|
||||
|
||||
func register():
|
||||
baseDamage = 20
|
||||
func spawn():
|
||||
await TickTool.millseconds(1000)
|
||||
hitbox.disabled = false
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
extends BulletBase
|
||||
class_name RainbowCat
|
||||
|
||||
func register():
|
||||
penerate = 1
|
||||
func ai():
|
||||
PresetBulletAI.forward(self, rotation)
|
||||
func succeedToHit(_dmg: float, _entity: EntityBase):
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
extends BulletBase
|
||||
class_name Star
|
||||
|
||||
func register():
|
||||
baseDamage = 1
|
||||
func ai():
|
||||
PresetBulletAI.forward(self, rotation)
|
||||
|
||||
@@ -151,6 +151,7 @@ func trySplit():
|
||||
for i in total:
|
||||
var cloned = duplicate() as BulletBase
|
||||
cloned.rotation = deg_to_rad(360.0 / total * i)
|
||||
cloned.isChildSplit = true
|
||||
split(cloned, i, total, last)
|
||||
func tryRefract():
|
||||
if is_instance_valid(launcher) and !isChildRefract:
|
||||
@@ -162,6 +163,7 @@ func tryRefract():
|
||||
if is_instance_valid(entity):
|
||||
var cloned = duplicate() as BulletBase
|
||||
cloned.look_at(entity.position)
|
||||
cloned.isChildRefract = true
|
||||
refract(cloned, entity, i, total, last)
|
||||
|
||||
# 抽象方法
|
||||
|
||||
Reference in New Issue
Block a user