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

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