call deferred to prevent reentry into atmosphere
This commit is contained in:
parent
8de6d3bdb9
commit
aa07bdd798
Binary file not shown.
|
@ -18,9 +18,15 @@ func respawn_tilemaps(amount):
|
||||||
add_child(Tilemap.instance())
|
add_child(Tilemap.instance())
|
||||||
tilemaps.push_back(tile)
|
tilemaps.push_back(tile)
|
||||||
|
|
||||||
|
func get_tile_at(pos: Vector3) -> String:
|
||||||
|
return server.get_tile_at(int(pos.x), int(pos.y), int(pos.z))
|
||||||
|
|
||||||
|
func update_tiles(tile_positions: Array):
|
||||||
|
print(tile_positions[1])
|
||||||
|
print(get_tile_at(Vector3(0,0,0)))
|
||||||
|
|
||||||
func _on_StateServer_request_init():
|
func _on_StateServer_request_init():
|
||||||
respawn_tilemaps(zsize - 1)
|
respawn_tilemaps(zsize - 1)
|
||||||
|
|
||||||
func _on_StateServer_changed_tiletypes(tile_positions: Array):
|
func _on_StateServer_changed_tiletypes(tile_positions: Array):
|
||||||
print(tile_positions[2])
|
call_deferred("update_tiles", tile_positions)
|
||||||
print(server.get_tile_at(0,0,0))
|
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
[gd_scene load_steps=4 format=2]
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://world/StateApi.gd" type="Script" id=1]
|
[ext_resource path="res://world/StateApi.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://native/StateServer.gdns" type="Script" id=2]
|
|
||||||
[ext_resource path="res://native/StateServer.tscn" type="PackedScene" id=3]
|
[ext_resource path="res://native/StateServer.tscn" type="PackedScene" id=3]
|
||||||
|
|
||||||
[node name="World" type="Node"]
|
[node name="World" type="Node"]
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
[node name="StateServer" type="Node" parent="." instance=ExtResource( 3 )]
|
[node name="StateServer" parent="." instance=ExtResource( 3 )]
|
||||||
script = ExtResource( 2 )
|
|
||||||
|
|
||||||
[connection signal="changed_tiletypes" from="StateServer" to="." method="_on_StateServer_changed_tiletypes"]
|
[connection signal="changed_tiletypes" from="StateServer" to="." method="_on_StateServer_changed_tiletypes"]
|
||||||
[connection signal="request_init" from="StateServer" to="." method="_on_StateServer_request_init"]
|
[connection signal="request_init" from="StateServer" to="." method="_on_StateServer_request_init"]
|
||||||
|
|
|
@ -34,10 +34,9 @@ impl StateServer {
|
||||||
#[export]
|
#[export]
|
||||||
fn generate_world(&mut self, _owner: &Node, xsize: usize, ysize: usize, zsize: usize) {
|
fn generate_world(&mut self, _owner: &Node, xsize: usize, ysize: usize, zsize: usize) {
|
||||||
self.world = world::World::new(xsize, ysize, zsize);
|
self.world = world::World::new(xsize, ysize, zsize);
|
||||||
|
let w = self.world.generate();
|
||||||
_owner.emit_signal("request_init", &[]);
|
_owner.emit_signal("request_init", &[]);
|
||||||
_owner.emit_signal("changed_tiletypes", &[Variant::new(
|
_owner.emit_signal("changed_tiletypes", &[Variant::new(&w)]);
|
||||||
// changes what the world looks like! by generating a new one!
|
|
||||||
self.world.generate())]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[export]
|
#[export]
|
||||||
|
|
Loading…
Reference in New Issue