playing with coin magnet
This commit is contained in:
@@ -6,6 +6,9 @@ var dodge_direction
|
||||
@onready var body: MeshInstance3D = $Body
|
||||
@onready var anim_player: AnimationPlayer = $AnimationPlayer
|
||||
|
||||
var gold_to_vacuum = []
|
||||
var current_gold
|
||||
|
||||
const MAX_STAMINA : float = 100
|
||||
var stamina = MAX_STAMINA
|
||||
const STAMINA_REGEN_RATE = 10.0
|
||||
@@ -13,11 +16,29 @@ const STAMINA_REGEN_RATE = 10.0
|
||||
## Gameplay Settings
|
||||
const DODGE_STAMINA_COST = 30.0
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
func _physics_process(delta: float) -> void:
|
||||
stamina_regen(delta)
|
||||
move_and_slide()
|
||||
vacuum_found_gold()
|
||||
|
||||
func stamina_regen(delta):
|
||||
if stamina < MAX_STAMINA:
|
||||
print("STAMINA : ", stamina)
|
||||
stamina = clamp(stamina + delta * STAMINA_REGEN_RATE,0,MAX_STAMINA)
|
||||
|
||||
func vacuum_found_gold():
|
||||
if gold_to_vacuum.size() > 0:
|
||||
for i in range(0,gold_to_vacuum.size()):
|
||||
#var magnet_target
|
||||
#if i == 0:
|
||||
#magnet_target = self.global_position
|
||||
#else:
|
||||
#magnet_target = gold_to_vacuum[i-1].global_position
|
||||
var direction_to_player = gold_to_vacuum[i].global_position.direction_to(self.global_position)
|
||||
var distance_to_player = gold_to_vacuum[i].global_position.distance_to(self.global_position)
|
||||
|
||||
gold_to_vacuum[i].linear_velocity = direction_to_player * (5 + distance_to_player)
|
||||
|
||||
func _on_area_3d_body_entered(body: Node3D) -> void:
|
||||
if body is Gold:
|
||||
gold_to_vacuum.append(body)
|
||||
|
||||
Reference in New Issue
Block a user