diff options
Diffstat (limited to 'client/scripts')
| -rw-r--r-- | client/scripts/game.gd | 8 | ||||
| -rw-r--r-- | client/scripts/map.gd | 47 | ||||
| -rw-r--r-- | client/scripts/tiles/chair.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/counter.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/counter_base.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/crate.gd | 7 | ||||
| -rw-r--r-- | client/scripts/tiles/cutting_board.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/door.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/floor.gd | 2 | ||||
| -rw-r--r-- | client/scripts/tiles/full_tile.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/oven.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/sink.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/stove.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/table.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/trash.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/wall.gd | 14 | ||||
| -rw-r--r-- | client/scripts/tiles/wall_tile.gd | 4 | ||||
| -rw-r--r-- | client/scripts/tiles/window.gd | 4 | 
18 files changed, 76 insertions, 54 deletions
diff --git a/client/scripts/game.gd b/client/scripts/game.gd index 7c9b4bc2..9e02e7c0 100644 --- a/client/scripts/game.gd +++ b/client/scripts/game.gd @@ -29,4 +29,12 @@ func _ready():  			player_instance.update_position(position, rotation)  	) +	Multiplayer.connect("remove_playern", func(id: int): +		var player = players.get(id) +		if player != null: +			players.erase(id) +			player.queue_free() + +	) +  	Multiplayer.send_join("Blub", 1) diff --git a/client/scripts/map.gd b/client/scripts/map.gd index 8229bb0d..685c1d69 100644 --- a/client/scripts/map.gd +++ b/client/scripts/map.gd @@ -5,49 +5,48 @@ func _ready():  func update(pos, tile_name, neighbors):  	var instance: Floor +	var node_name = str(pos) + +	if has_node(node_name): +		queue_free_rename(get_node(node_name)) +  	match tile_name:  		"trash": -			instance = Trash.new() +			instance = Trash.new(node_name, neighbors)  		"tomato-crate": -			instance = CounterBase.new() +			instance = CounterBase.new(node_name, neighbors)  		"cuttingboard": -			instance = CuttingBoard.new() +			instance = CuttingBoard.new(node_name, neighbors)  		"counter": -			instance = CounterBase.new() +			instance = CounterBase.new(node_name, neighbors)  		"flour-crate": -			instance = CounterBase.new() +			instance = CounterBase.new(node_name, neighbors)  		"oven": -			instance = Oven.new() +			instance = Oven.new(node_name, neighbors)  		"raw-steak-crate": -			instance = CounterBase.new() +			instance = CounterBase.new(node_name, neighbors)  		"stove": -			instance = Stove.new() +			instance = Stove.new(node_name, neighbors)  		"sink": -			instance = Sink.new() +			instance = Sink.new(node_name, neighbors)  		"dirty-plate-crate": -			instance = CounterBase.new() +			instance = CounterBase.new(node_name, neighbors)  		"wall": -			instance = Wall.new() +			instance = Wall.new(node_name, neighbors)  		"chair": -			instance = Chair.new() +			instance = Chair.new(node_name, neighbors)  		"table": -			instance = Table.new() +			instance = Table.new(node_name, neighbors)  		"floor": -			instance = Floor.new() +			instance = Floor.new(node_name, neighbors)  		"window": -			instance = Wall.new() +			instance = WallWindow.new(node_name, neighbors)  		"door": -			instance = Door.new() +			instance = Door.new(node_name, neighbors)  		var t:  			push_error("tile tile %s unknown" % t) -			instance = Floor.new() -		 -	var node_name = str(pos) -	 -	if has_node(node_name): -		queue_free_rename(get_node(node_name)) -	 -	instance.setup(node_name, neighbors) +			instance = Floor.new(node_name, neighbors) +  	instance.position = Vector3(pos[0], 0, pos[1])  	add_child(instance) diff --git a/client/scripts/tiles/chair.gd b/client/scripts/tiles/chair.gd index e51d7864..dd26a07a 100644 --- a/client/scripts/tiles/chair.gd +++ b/client/scripts/tiles/chair.gd @@ -1,8 +1,8 @@  class_name Chair  extends Floor -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	var chair = load("res://models/prefabs/map/chair_A.tscn").instantiate()  	var facing = 0;  	for i in range(4): diff --git a/client/scripts/tiles/counter.gd b/client/scripts/tiles/counter.gd index 83872315..22802d36 100644 --- a/client/scripts/tiles/counter.gd +++ b/client/scripts/tiles/counter.gd @@ -16,8 +16,8 @@ enum CounterKind {  var kind: CounterKind = CounterKind.STRAIGHT -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	var facing = 0  	var edges = neighbors.duplicate()  	for i in range(4): diff --git a/client/scripts/tiles/counter_base.gd b/client/scripts/tiles/counter_base.gd index 19c7f045..bf51513e 100644 --- a/client/scripts/tiles/counter_base.gd +++ b/client/scripts/tiles/counter_base.gd @@ -1,8 +1,8 @@  class_name CounterBase  extends Counter -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	match kind:  		CounterKind.OUTER_CORNER:  			base.add_child(load("res://models/prefabs/map/kitchencounter_outercorner.tscn").instantiate()) diff --git a/client/scripts/tiles/crate.gd b/client/scripts/tiles/crate.gd new file mode 100644 index 00000000..de154609 --- /dev/null +++ b/client/scripts/tiles/crate.gd @@ -0,0 +1,7 @@ +class_name Crate +extends Counter + +const KIND: int = -1 + +func _init(rename: String, neighbors: Array): +	super(rename, neighbors) diff --git a/client/scripts/tiles/cutting_board.gd b/client/scripts/tiles/cutting_board.gd index 0164036b..7103cb4d 100644 --- a/client/scripts/tiles/cutting_board.gd +++ b/client/scripts/tiles/cutting_board.gd @@ -1,6 +1,6 @@  class_name CuttingBoard  extends CounterBase -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	base.add_child(load("res://models/prefabs/map/cuttingboard.tscn").instantiate()) diff --git a/client/scripts/tiles/door.gd b/client/scripts/tiles/door.gd index 0861b09a..7175814d 100644 --- a/client/scripts/tiles/door.gd +++ b/client/scripts/tiles/door.gd @@ -1,8 +1,8 @@  class_name Door  extends Floor -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	var facing = 0  	for i in range(4): diff --git a/client/scripts/tiles/floor.gd b/client/scripts/tiles/floor.gd index 70a71c5a..ba09d40b 100644 --- a/client/scripts/tiles/floor.gd +++ b/client/scripts/tiles/floor.gd @@ -10,7 +10,7 @@ enum Facing {  	X = 3,  } -func setup(rename: String, _neighbors: Array): +func _init(rename: String, _neighbors: Array):  	add_child(load("res://models/prefabs/map/floor_kitchen_small.tscn").instantiate())  	base.name = "Base"  	base.position += Vector3(0.5, 0, 0.5) diff --git a/client/scripts/tiles/full_tile.gd b/client/scripts/tiles/full_tile.gd index a986b053..863046ba 100644 --- a/client/scripts/tiles/full_tile.gd +++ b/client/scripts/tiles/full_tile.gd @@ -3,8 +3,8 @@ extends Floor  var static_body = StaticBody3D.new() -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	var shape = CollisionShape3D.new()  	var box = BoxShape3D.new()  	shape.position.y += .5 diff --git a/client/scripts/tiles/oven.gd b/client/scripts/tiles/oven.gd index 2ebe7f33..05909b63 100644 --- a/client/scripts/tiles/oven.gd +++ b/client/scripts/tiles/oven.gd @@ -1,6 +1,6 @@  class_name Oven  extends Counter -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	base.add_child(load("res://models/prefabs/map/oven.tscn").instantiate()) diff --git a/client/scripts/tiles/sink.gd b/client/scripts/tiles/sink.gd index 2067cc33..3b9029b6 100644 --- a/client/scripts/tiles/sink.gd +++ b/client/scripts/tiles/sink.gd @@ -1,8 +1,8 @@  class_name Sink  extends Counter -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	match kind:  		CounterKind.STRAIGHT:  			base.add_child(load("res://models/prefabs/map/kitchencounter_sink.tscn").instantiate()) diff --git a/client/scripts/tiles/stove.gd b/client/scripts/tiles/stove.gd index c2d75b7b..a60209cb 100644 --- a/client/scripts/tiles/stove.gd +++ b/client/scripts/tiles/stove.gd @@ -1,6 +1,6 @@  class_name Stove  extends Counter -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	base.add_child(load("res://models/prefabs/map/stove_single.tscn").instantiate()) diff --git a/client/scripts/tiles/table.gd b/client/scripts/tiles/table.gd index 937ef097..3e621f46 100644 --- a/client/scripts/tiles/table.gd +++ b/client/scripts/tiles/table.gd @@ -1,6 +1,6 @@  class_name Table  extends FullTile -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	base.add_child(load("res://models/prefabs/map/table_round_A_small.tscn").instantiate()) diff --git a/client/scripts/tiles/trash.gd b/client/scripts/tiles/trash.gd index 1ec05e49..fd24cbd6 100644 --- a/client/scripts/tiles/trash.gd +++ b/client/scripts/tiles/trash.gd @@ -1,6 +1,6 @@  class_name Trash  extends FullTile -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	base.add_child(load("res://models/prefabs/map/crate_trash.tscn").instantiate()) diff --git a/client/scripts/tiles/wall.gd b/client/scripts/tiles/wall.gd index dd6d3495..d69d16e9 100644 --- a/client/scripts/tiles/wall.gd +++ b/client/scripts/tiles/wall.gd @@ -1,6 +1,14 @@  class_name Wall  extends WallTile -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) -	base.add_child(load("res://models/prefabs/map/wall.tscn").instantiate()) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors) +	match kind: +		WallKind.STRAIGHT: +			base.add_child(load("res://models/prefabs/map/wall_straight.tscn").instantiate()) +		WallKind.OUTER_CORNER: +			base.add_child(load("res://models/prefabs/map/wall_corner.tscn").instantiate()) +		WallKind.T: +			base.add_child(load("res://models/prefabs/map/wall_t.tscn").instantiate()) +		WallKind.CROSS: +			base.add_child(load("res://models/prefabs/map/wall_cross.tscn").instantiate()) diff --git a/client/scripts/tiles/wall_tile.gd b/client/scripts/tiles/wall_tile.gd index f10cc53f..e51d010d 100644 --- a/client/scripts/tiles/wall_tile.gd +++ b/client/scripts/tiles/wall_tile.gd @@ -17,8 +17,8 @@ enum WallKind {  var kind: WallKind = WallKind.STRAIGHT  var facing: int = 0 -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	var edges = neighbors.duplicate() diff --git a/client/scripts/tiles/window.gd b/client/scripts/tiles/window.gd index 953f97db..907377d6 100644 --- a/client/scripts/tiles/window.gd +++ b/client/scripts/tiles/window.gd @@ -1,8 +1,8 @@  class_name WallWindow  extends WallTile -func setup(rename: String, neighbors: Array): -	super.setup(rename, neighbors) +func _init(rename: String, neighbors: Array): +	super(rename, neighbors)  	match kind:  		WallKind.STRAIGHT:  			base.add_child(load("res://models/prefabs/map/window.tscn").instantiate())  |