save code

This commit is contained in:
xsl
2025-11-28 18:10:23 +08:00
commit fee064c3f0
49 changed files with 64353 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
extends Node3D
@export var fire_rate: float = 0.5
@export var projectile_lifetime: float = 4.0
@export var projectile_prefab: PackedScene
@export var rotate_to_mouse: Node3D
@export var fire_point: Node3D
var can_fire: bool = true
func _process(_delta):
if Input.is_action_pressed("fire") and can_fire:
fire_projectile()
can_fire = false
await get_tree().create_timer(fire_rate).timeout
can_fire = true
func fire_projectile():
if projectile_prefab and fire_point and rotate_to_mouse:
var projectile_instance = projectile_prefab.instantiate()
get_parent().add_child(projectile_instance)
projectile_instance.global_position = fire_point.global_position
projectile_instance.set_fire_point(fire_point.global_transform.origin)
var direction = -rotate_to_mouse.global_transform.basis.z.normalized()
projectile_instance.direction = direction
projectile_instance.look_at(fire_point.global_position + -direction)
await get_tree().create_timer(projectile_lifetime).timeout
if projectile_instance:
projectile_instance.queue_free()