Files

38 lines
917 B
GDScript

class_name DiveUpdate
extends RefCounted
const DiveSnapshot = preload("res://game/domain/dive/dive_snapshot.gd")
const DiveEvent = preload("res://game/domain/dive/dive_event.gd")
var accepted: bool
var requested_tick_sequence: int
var rejection_reason: String
var snapshot: DiveSnapshot
var events: Array[DiveEvent]
func _init(
p_accepted: bool,
p_requested_tick_sequence: int,
p_rejection_reason: String,
p_snapshot: DiveSnapshot,
p_events: Array[DiveEvent] = []
) -> void:
accepted = p_accepted
requested_tick_sequence = p_requested_tick_sequence
rejection_reason = p_rejection_reason
snapshot = p_snapshot
events = p_events.duplicate()
static func initial(snapshot: DiveSnapshot):
return new(true, snapshot.tick_sequence, "", snapshot)
static func rejected(
requested_tick_sequence: int,
reason: String,
snapshot: DiveSnapshot
):
return new(false, requested_tick_sequence, reason, snapshot)