newlon/scripts/resources/entity_resource.gd
2025-08-01 05:27:07 +05:00

30 lines
950 B
GDScript

extends Resource
## Base class for every possible entity in game. Makes possible for entities to be spawned using seedpackets
class_name SeedpacketResource
## Thumbnail of an entity
@export var preview : Texture2D
## Cost of entity in local units
@export var cost : float
## Recharge time for seedpacket in seconds
@export_range(0.05,60,0.01,"or_greater","suffix:seconds") var recharge_time : float = 3
## Initial recharge fraction. Zero equals that seedpacket recharges instantly, one equals that packet starts uncharged
@export_range(0,1,0.01) var initial_recharge_percent : float = 1
## Scene that can be spawned
@export var scene : PackedScene
## Order to sort in almanach
@export_range(0,4056,1,"or_greater","hide_slider") var order : int
var gid : StringName = ""
func get_gid() -> StringName:
if gid == "":
var split_path = resource_path.split("/")
gid = split_path[split_path.size()].trim_suffix(".tres").to_lower()
return gid