thomas_2023/day_5/MapEntry.gd
2024-06-19 21:02:45 -04:00

28 lines
560 B
GDScript

class_name MapEntry
var src_start := 0
var dst_start := 0
var src_end := 0
var dst_end := 0
var range := 0
func _to_string():
return str(self.src_start) + " -> " + str(self.dst_start) + " (" + str(self.range) + ")"
func apply(input):
# Big ints are sus, be safe
var d_start = input - src_start
if d_start < 0 or d_start >= self.range:
return null
return dst_start + d_start
func apply_rev(input):
# Big ints are sus, be safe
var d_start = input - dst_start
if d_start < 0 or d_start >= self.range:
return null
return src_start + d_start