* ajout d'un fondu de musique au changement de phase * résolution de bugs en tout genre
46 lines
1.0 KiB
GDScript
46 lines
1.0 KiB
GDScript
extends Item
|
|
class_name Blueprint
|
|
|
|
@export var machine_type: MachineType
|
|
@export var machine_level: int = 1
|
|
|
|
func _init(_machine_type : MachineType = null, _machine_level : int = 1):
|
|
machine_type = _machine_type
|
|
machine_level = _machine_level
|
|
|
|
func get_item_name() -> String:
|
|
if machine_type:
|
|
return machine_type.name
|
|
return ""
|
|
|
|
func get_description() -> String:
|
|
if machine_type:
|
|
return machine_type.description
|
|
return ""
|
|
|
|
func get_energy_used() -> int:
|
|
return 0
|
|
|
|
func get_icon() -> Texture2D:
|
|
return preload("res://common/icons/cube-3d-sphere.svg")
|
|
|
|
func use_text() -> String:
|
|
if machine_type:
|
|
return tr("BUILD_%s") % tr(machine_type.name)
|
|
return ""
|
|
|
|
func is_one_time_use():
|
|
return true
|
|
|
|
func can_use(player : Player, _zone : Player.ActionZone) -> bool:
|
|
return player.terrain is Planet
|
|
|
|
func use(player : Player, zone : Player.ActionZone) -> bool:
|
|
if machine_type and machine_level and player.planet:
|
|
player.planet.add_entity(
|
|
Machine.instantiate_machine(machine_type, machine_level),
|
|
zone.get_global_position()
|
|
)
|
|
return true
|
|
return false
|