46 lines
1.2 KiB
GDScript
46 lines
1.2 KiB
GDScript
extends Node3D
|
|
|
|
var load_tile = preload("res://tiles/base_tile/tile.tscn")
|
|
|
|
var tiledict = {}
|
|
|
|
func _ready():
|
|
pass
|
|
|
|
func init_tile(float_build_start_pos, float_build_mouse_pos):
|
|
|
|
var build_start_pos: Vector3i = float_build_start_pos.snapped(Vector3i(1.0, 1.0, 1.0))
|
|
var build_mouse_pos: Vector3i = float_build_mouse_pos.snapped(Vector3i(1.0, 1.0, 1.0))
|
|
|
|
var flat_pos = build_start_pos + build_mouse_pos
|
|
var distance = abs(build_start_pos - build_mouse_pos)
|
|
|
|
#var build_mouse_x = floor(build_mouse_pos.x)
|
|
#var build_mouse_z = floor(build_mouse_pos.z)
|
|
#
|
|
#var grid_x_count = max(1, build_mouse_pos.x - build_start_pos.x)
|
|
#var grid_z_count = max(1, build_mouse_pos.z - build_start_pos.z)
|
|
|
|
var crop_x = max(1, distance.x)
|
|
var crop_z = max(1, distance.z)
|
|
|
|
for x in crop_x:
|
|
for z in crop_z:
|
|
|
|
var id = flat_pos
|
|
|
|
var tile = load_tile.instantiate()
|
|
|
|
tile.position = build_start_pos + Vector3i(x, 0, z)
|
|
|
|
print("global", build_start_pos + Vector3i(x, 0, z))
|
|
|
|
if not tiledict.has(id):
|
|
|
|
print("global after", build_start_pos + Vector3i(x, 0, z))
|
|
print("x (global)", id)
|
|
print("global", tile.position)
|
|
|
|
tiledict[id] = tile
|
|
add_child(tile)
|