29 lines
648 B
GDScript
29 lines
648 B
GDScript
class_name DiveTick
|
|
extends RefCounted
|
|
|
|
var session_id: StringName
|
|
var sequence: int
|
|
var elapsed_seconds: float
|
|
|
|
|
|
func _init(
|
|
p_session_id: StringName,
|
|
p_sequence: int,
|
|
p_elapsed_seconds: float
|
|
) -> void:
|
|
session_id = p_session_id
|
|
sequence = p_sequence
|
|
elapsed_seconds = p_elapsed_seconds
|
|
|
|
|
|
func validation_error() -> String:
|
|
if session_id.is_empty():
|
|
return "tick session_id is empty"
|
|
if sequence < 0:
|
|
return "tick sequence is negative"
|
|
if not is_finite(elapsed_seconds) or elapsed_seconds <= 0.0:
|
|
return "tick duration must be finite and positive"
|
|
if elapsed_seconds > 0.1:
|
|
return "tick duration exceeds 0.1 seconds"
|
|
return ""
|