fucking signals, how do they work

This commit is contained in:
Zoe 2022-05-04 14:10:28 +02:00
parent bcd4a1b031
commit 9d9348faca
6 changed files with 10 additions and 16 deletions

View File

@ -4,6 +4,3 @@
[node name="StateServer" type="Node"] [node name="StateServer" type="Node"]
script = ExtResource( 1 ) script = ExtResource( 1 )
xsize = 14
ysize = 14
zsize = 14

Binary file not shown.

View File

@ -1,7 +1,5 @@
extends Node extends Node
onready var server = $StateServer
var server = preload("res://native/StateServer.tscn").instance()
func _ready(): func _ready():
add_child(server) server.generate_world(1024,1024,512)
server.generate_world()

View File

@ -1,6 +1,7 @@
[gd_scene load_steps=4 format=2] [gd_scene load_steps=5 format=2]
[ext_resource path="res://world/terrain/terrain.tres" type="TileSet" id=1] [ext_resource path="res://world/terrain/terrain.tres" type="TileSet" id=1]
[ext_resource path="res://native/StateServer.tscn" type="PackedScene" id=2]
[ext_resource path="res://world/worldcam.gd" type="Script" id=3] [ext_resource path="res://world/worldcam.gd" type="Script" id=3]
[ext_resource path="res://world/StateApi.gd" type="Script" id=5] [ext_resource path="res://world/StateApi.gd" type="Script" id=5]
@ -9,6 +10,8 @@
[node name="StateApi" type="Node" parent="."] [node name="StateApi" type="Node" parent="."]
script = ExtResource( 5 ) script = ExtResource( 5 )
[node name="StateServer" parent="StateApi" instance=ExtResource( 2 )]
[node name="TileMap" type="TileMap" parent="."] [node name="TileMap" type="TileMap" parent="."]
position = Vector2( -2, 0 ) position = Vector2( -2, 0 )
mode = 1 mode = 1

View File

@ -39,8 +39,8 @@ impl StateServer {
} }
#[export] #[export]
fn generate_world(&self, _owner: &Node) { fn generate_world(&self, _owner: &Node, xsize: usize, ysize: usize, zsize: usize) {
let mut new_world = world::World::new(3, 3, 3); let mut new_world = world::World::new(xsize, ysize, zsize);
new_world.generate(); new_world.generate();
} }
} }
@ -48,7 +48,6 @@ impl StateServer {
// signals // signals
impl StateServer { impl StateServer {
fn register(builder: &ClassBuilder<StateServer>) { fn register(builder: &ClassBuilder<StateServer>) {
builder.signal("jumpled").done();
builder builder
.signal("changed_tile") .signal("changed_tile")
.with_param("position", VariantType::Vector3) .with_param("position", VariantType::Vector3)

View File

@ -11,18 +11,15 @@ pub struct World {
impl World { impl World {
pub fn generate(&mut self) { pub fn generate(&mut self) {
let mut tiles = get_vec3(self.xsize, self.ysize, self.zsize); self.tiles = get_vec3(self.xsize, self.ysize, self.zsize);
godot_print!("{:#?}", tiles);
for x in 0..self.xsize { for x in 0..self.xsize {
for y in 0..self.ysize { for y in 0..self.ysize {
for z in 0..self.zsize { for z in 0..self.zsize {
let tile = tiles::Tile::new(tiles::Tiletypes::Dirt); let tile = tiles::Tile::new(tiles::Tiletypes::Dirt);
tiles[x][y][z] = tile; self.tiles[x][y][z] = tile;
} }
} }
} }
self.tiles = tiles;
godot_print!("{:?}", self.tiles);
} }
pub fn new(xsize: usize, ysize: usize, zsize: usize) -> World { pub fn new(xsize: usize, ysize: usize, zsize: usize) -> World {
World { World {