Files
Ransom-s-wake/game/domain/dive/dive_tick.gd

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 ""