39 lines
1.1 KiB
GDScript
39 lines
1.1 KiB
GDScript
@tool
|
|
extends Resource
|
|
class_name RunPoint
|
|
|
|
const DANGER_ICON = preload("res://common/icons/skull.svg")
|
|
const TYPE_ICON = preload("res://common/icons/map-pin.svg")
|
|
const OBJECTIVE_ICON = preload("res://common/icons/dna.svg")
|
|
const CHARGE_ICON = preload("res://common/icons/bolt.svg")
|
|
|
|
@export var level : int = 0 # X pos along the planet, and difficulty
|
|
@export var region_parameter : RegionParameter = RegionParameter.new() :
|
|
set(v):
|
|
region_parameter = v
|
|
@export var position : float = 0
|
|
|
|
func _init(
|
|
_level : int = 0,
|
|
_region_parameter : RegionParameter = RegionParameter.new(),
|
|
_position : float = randf_range(0.,1.),
|
|
):
|
|
level = _level
|
|
region_parameter = _region_parameter
|
|
region_parameter.level = level
|
|
position = _position
|
|
|
|
func card_info() -> CardInfo:
|
|
var info = CardInfo.new(region_parameter.region_name)
|
|
info.important_stat_icon = DANGER_ICON
|
|
info.important_stat_text = "%d" % level
|
|
|
|
info.type_icon = TYPE_ICON
|
|
|
|
info.stats.append_array([
|
|
CardStatInfo.new(str(region_parameter.objective), OBJECTIVE_ICON),
|
|
CardStatInfo.new(str(region_parameter.charges), CHARGE_ICON),
|
|
])
|
|
|
|
return info
|