Commit Diff


commit - 3fc3080d0c5b55dc5d560c1e48c465b0ee249e14
commit + e78a939acbde029b9283330ea10df458fa83c48a
blob - 4a91a78b46c8739e3be0a85cf309f5b22669fe18
blob + 66d9e838c57d23268ca834637648ae7b6d40025c
--- src/board.gd
+++ src/board.gd
@@ -1,8 +1,7 @@
 extends Node2D
 
+var _ids := 0
 
-func _unused_send_ping() -> void:
-	rpc("ping")
 
 remote func ping():
 	var id := get_tree().get_rpc_sender_id()
@@ -13,10 +12,34 @@ remote func pong():
 	var id := get_tree().get_rpc_sender_id()
 	print("PONG from ", id)
 
+remote func move(id, x, y):
+	print("id is ", id)
+	for child in $"pieces".get_children():
+		if child.id == id:
+			child.position = Vector2(x, y)
+			return
+	print("piece ", id, " not found!")
 
+
+remote func setup() -> void:
+	print("was ordered to set up!")
+	_place(false)
+
+
+func _onmoving(id, x, y):
+	rpc_unreliable("move", id, x, y)
+
+
+func _onmoved(id, x, y):
+	rpc("move", id, x, y)
+
+
 func _addpiece(kind: String, black: bool, off: int) -> void:
+	_ids += 1
 	var piece := preload("res://src/piece/piece.tscn").instance()
-	piece.setup(kind, black)
+	piece.setup(_ids, kind, black)
+	piece.connect("moving", self, "_onmoving")
+	piece.connect("moved", self, "_onmoved")
 	$"pieces".add_child(piece)
 	var y := 70
 	if not black:
@@ -30,7 +53,15 @@ func _addpiece(kind: String, black: bool, off: int) ->
 
 
 func _on_setup_click() -> void:
+	_place(true)
+
+
+func _place(send: bool) -> void:
+	if send:
+		rpc("setup")
+
 	# remove and re-place (pun intended) all the pieces
+	_ids = 0
 	for child in $"pieces".get_children():
 		$"pieces".remove_child(child)
 		child.queue_free()
@@ -47,3 +78,7 @@ func _on_setup_click() -> void:
 		_addpiece(p, true, off)
 		_addpiece(p, false, off)
 		off += 63
+
+
+func _fai_cose() -> void:
+	rpc("ping")
blob - 6b431e50b18e4357693de5635c0859a7315c7aba
blob + 332466b73ad03d0d10dace36ce8c7c57d3bfd534
--- src/board.tscn
+++ src/board.tscn
@@ -19,4 +19,12 @@ text = "Setup Board"
 
 [node name="pieces" type="Node2D" parent="."]
 
+[node name="Button" type="Button" parent="."]
+margin_left = 109.0
+margin_top = 165.0
+margin_right = 198.0
+margin_bottom = 185.0
+text = "PING/PONG"
+
 [connection signal="button_down" from="setup" to="." method="_on_setup_click"]
+[connection signal="pressed" from="Button" to="." method="_fai_cose"]
blob - 70121c14fa0b8cf78ea80f8cd4a2ea4ba06c921f
blob + d1fdf799b04abbcc9704a3331fd573a08dc2bd86
--- src/menu.gd
+++ src/menu.gd
@@ -13,21 +13,23 @@ func _ready() -> void:
 	get_tree().connect("server_disconnected", self, "_server_disconnected")
 
 
-func _player_connected(id):
-	print("player_connected ", id)
+func _peer_connected(id):
+	print("peer_connected ", id)
 	rpc_id(id, "ping")
 
 
-func _player_disconnected(id):
-	print("player_disconnected ", id)
+func _peer_disconnected(id):
+	print("peer_disconnected ", id)
 
 
 func _connected_ok():
 	print("connected!")
 
+
 func _connected_fail():
 	print("failed to connect D:<")
 
+
 func _server_disconnected():
 	print("disconnected!!!!! D:<<")
 
@@ -44,10 +46,12 @@ func _on_serverz_click() -> void:
 
 func _on_clientz_click() -> void:
 	var peer := NetworkedMultiplayerENet.new()
-	var err := peer.create_client($VBoxContainer/HBoxContainer/ipaddr.text, SERVER_PORT)
+	var ip :String = $VBoxContainer/ipaddr.text
+	var err := peer.create_client(ip, SERVER_PORT)
 	if err != OK:
 		print("WOOOOPS, failed with error ", err)
 		return
+	print("OK!  I should be connected?")
 	get_tree().network_peer = peer
 	goto_board()
 
blob - c6b3bd8017ac17cd1d3e351f03931f5720c378e3
blob + 9fb0fec056a3f5322593ef0311db992fb59f42a6
--- src/piece/piece.gd
+++ src/piece/piece.gd
@@ -1,13 +1,15 @@
 extends StaticBody2D
 
 var hold := false
+var id : int
 
 
-func setup(kind: String, black: bool) -> void:
-#	var t := "white"
-#	if black:
-#		t = "white"
-#	var sprite = Pieces.piece[kind][t]
+signal moving(id, x, y)
+signal moved(id, x, y)
+
+
+func setup(_id: int, kind: String, black: bool) -> void:
+	id = _id
 	var sprite = Pieces.getpiece(kind, black)
 	$sprite.texture = sprite
 
@@ -15,6 +17,7 @@ func setup(kind: String, black: bool) -> void:
 func _input(event: InputEvent) -> void:
 	if hold and event is InputEventMouseMotion:
 		position = event.position
+		emit_signal("moving", id, position.x, position.y)
 
 
 func _on_button_down() -> void:
@@ -23,3 +26,4 @@ func _on_button_down() -> void:
 
 func _on_button_up() -> void:
 	hold = false
+	emit_signal("moved", id, position.x, position.y)