Basic animations for base drone model

This commit is contained in:
2026-02-23 19:35:37 +01:00
parent 969c004153
commit 7200be2e07
64 changed files with 1863 additions and 65 deletions

View File

@@ -0,0 +1,49 @@
@abstract
class_name Machine
extends Node
@export var model_name : StringName
@export var carry_capacity : float
@export var hit_points : float
@export var fuel_tank_capacity : float
@export var movement_speed : float
var states : Array
var add_on_slots : int
var machine_upgrades : Dictionary
var ability_timer : Timer
var action_timer : Timer
var self_body : CharacterBody2D
var current_fuel_in_tank : float
@abstract func primary_action() -> float
@abstract func secondary_action() -> float
@abstract func model_ability() -> float
@abstract func class_ability() -> float
func interact() -> void :
pass
func _physics_process(delta: float) -> void:
_movement(delta)
_ability_process(delta)
_action_process(delta)
self_body.move_and_slide()
func _movement(delta: float) -> void :
var input_direction = Input.get_vector("move_left", "move_right", "move_up", "move_down")
self.velocity = input_direction * movement_speed
func _action_process(delta:float) -> void :
if !action_timer.is_stopped() :
if Input.is_action_just_pressed("primary_action") :
action_timer.start(primary_action())
elif Input.is_action_just_pressed("secondary_action") :
action_timer.start(secondary_action())
func _ability_process(delta:float) -> void :
if !ability_timer.is_stopped() :
if Input.is_action_just_pressed("class_ability") :
ability_timer.start(class_ability())
elif Input.is_action_just_pressed("model_ability") :
ability_timer.start(model_ability())