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