43 lines
660 B
GDScript
43 lines
660 B
GDScript
@tool
|
|
class_name TestSequence
|
|
extends Resource
|
|
|
|
|
|
@export var sequence_id: StringName = &""
|
|
@export var display_name: String = ""
|
|
@export_group("Compatibility")
|
|
@export var scenario_id: StringName = &""
|
|
|
|
@export_multiline
|
|
var description: String = ""
|
|
|
|
@export var steps: Array[TestSequenceStep] = []
|
|
|
|
|
|
func get_sorted_steps() -> Array[TestSequenceStep]:
|
|
|
|
var result: Array[TestSequenceStep] = []
|
|
|
|
for step in steps:
|
|
|
|
if step == null:
|
|
continue
|
|
|
|
result.append(
|
|
step
|
|
)
|
|
|
|
result.sort_custom(
|
|
func(
|
|
a: TestSequenceStep,
|
|
b: TestSequenceStep
|
|
) -> bool:
|
|
|
|
return (
|
|
a.time_offset_seconds
|
|
< b.time_offset_seconds
|
|
)
|
|
)
|
|
|
|
return result
|