51 lines
1.6 KiB
GDScript
51 lines
1.6 KiB
GDScript
class_name DiveSnapshot
|
|
extends RefCounted
|
|
|
|
const BatterySnapshot = preload("res://game/domain/dive/battery_snapshot.gd")
|
|
const OxygenSnapshot = preload("res://game/domain/dive/oxygen_snapshot.gd")
|
|
const HullSnapshot = preload("res://game/domain/dive/hull_snapshot.gd")
|
|
const DepthSnapshot = preload("res://game/domain/dive/depth_snapshot.gd")
|
|
const ReturnEstimate = preload("res://game/domain/dive/return_estimate.gd")
|
|
const DiveAlertState = preload("res://game/domain/dive/dive_alert_state.gd")
|
|
const EjectionSnapshot = preload("res://game/domain/dive/ejection_snapshot.gd")
|
|
const DiveTerminalReason = preload("res://game/domain/dive/dive_terminal_reason.gd")
|
|
|
|
var session_id: StringName
|
|
var tick_sequence: int
|
|
var battery: BatterySnapshot
|
|
var oxygen: OxygenSnapshot
|
|
var hull: HullSnapshot
|
|
var depth: DepthSnapshot
|
|
var return_estimate: ReturnEstimate
|
|
var alerts: DiveAlertState
|
|
var ejection: EjectionSnapshot
|
|
var terminal_reason: DiveTerminalReason.Value
|
|
|
|
|
|
func _init(
|
|
p_session_id: StringName,
|
|
p_tick_sequence: int,
|
|
p_battery: BatterySnapshot,
|
|
p_oxygen: OxygenSnapshot,
|
|
p_hull: HullSnapshot,
|
|
p_depth: DepthSnapshot,
|
|
p_return_estimate: ReturnEstimate,
|
|
p_alerts: DiveAlertState,
|
|
p_ejection: EjectionSnapshot,
|
|
p_terminal_reason: DiveTerminalReason.Value
|
|
) -> void:
|
|
session_id = p_session_id
|
|
tick_sequence = p_tick_sequence
|
|
battery = p_battery
|
|
oxygen = p_oxygen
|
|
hull = p_hull
|
|
depth = p_depth
|
|
return_estimate = p_return_estimate
|
|
alerts = p_alerts
|
|
ejection = p_ejection
|
|
terminal_reason = p_terminal_reason
|
|
|
|
|
|
func is_terminal() -> bool:
|
|
return terminal_reason != DiveTerminalReason.Value.NONE
|