ive decided its fine if the state server is public

This commit is contained in:
zoe 2022-05-08 17:56:37 +02:00
parent 74e9d94977
commit 5b58f246a0
7 changed files with 35 additions and 29 deletions

View file

@ -3,11 +3,29 @@ extends Node
var Tilemap = preload("res://world/Tilemap.tscn")
var tilemaps = []
func respawn_tilemaps(amount: int):
func _ready():
StateServer.connect("changed_tiletypes", self, "_on_StateServer_changed_tiletypes")
StateServer.connect("request_init", self, "_on_StateServer_request_init")
func respawn_tilemaps():
tilemaps = []
for i in range(0, amount + 1):
for i in range(0, StateServer.get_world_size().z):
var map = Tilemap.instance()
map.position.y -= i * map.cell_size.y
map.z_index = i
add_child(map)
tilemaps.push_back(map)
func get_tile_at(pos: Vector3) -> String:
return StateServer.get_tile_at(int(pos.x), int(pos.y), int(pos.z))
func update_tiles(tile_positions: PoolVector3Array):
for tile in tile_positions:
tilemaps[tile.z].set_tile_graphics(Vector2(tile.x, tile.y),
get_tile_at(tile))
func _on_StateServer_request_init():
call_deferred("respawn_tilemaps")
func _on_StateServer_changed_tiletypes(tile_positions: PoolVector3Array):
call_deferred("update_tiles", tile_positions)