project-villain/places/base_place/base_room.gd

35 lines
695 B
GDScript

extends Node
var room_tile_dict = {}
var path_grid = AStar3D.new()
var room_door_array = []
#TODO: replace with global dict?
var direction_array = [
Vector3i(0, 0, -1),
Vector3i(1, 0, 0),
Vector3i(0, 0, 1),
Vector3i(-1, 0, 0),
]
func _ready():
self.name = str("Room", self.get_instance_id())
init_path_grid()
pass
func init_path_grid():
for i in room_tile_dict.keys():
var id = path_grid.get_available_point_id()
path_grid.add_point(id, i)
for n in direction_array:
if room_tile_dict.has(i + n):
var closest = path_grid.get_closest_point(i + n)
if (i + n) == Vector3i(path_grid.get_point_position(closest)):
path_grid.connect_points(id, closest)