nodes n stuff
This commit is contained in:
parent
1b76237d8b
commit
13dda87ea6
@ -18,6 +18,8 @@ var steam_username: String = ""
|
|||||||
var avatar_texture_cache: Dictionary = {}
|
var avatar_texture_cache: Dictionary = {}
|
||||||
var host_id: int = 0
|
var host_id: int = 0
|
||||||
|
|
||||||
|
var node_map: Dictionary = {}
|
||||||
|
|
||||||
signal lobby_created(lobby_id: int)
|
signal lobby_created(lobby_id: int)
|
||||||
signal lobby_joined(lobby_id: int)
|
signal lobby_joined(lobby_id: int)
|
||||||
signal user_joined_lobby(user_id: int)
|
signal user_joined_lobby(user_id: int)
|
||||||
@ -306,13 +308,22 @@ func read_p2p_packet() -> void:
|
|||||||
# Property update packet
|
# Property update packet
|
||||||
if "message" in readable_data and readable_data["message"] == "property_update":
|
if "message" in readable_data and readable_data["message"] == "property_update":
|
||||||
if "node_id" in readable_data and "property_name" in readable_data and "value" in readable_data:
|
if "node_id" in readable_data and "property_name" in readable_data and "value" in readable_data:
|
||||||
property_update_received.emit(readable_data["node_id"], readable_data["property_name"], readable_data["value"])
|
emit_signal("property_update_received", readable_data["node_id"], readable_data["property_name"], readable_data["value"])
|
||||||
|
print("Received property update packet for node %d: %s = %s" % [readable_data["node_id"], readable_data["property_name"], readable_data["value"]]))
|
||||||
|
|
||||||
|
|
||||||
# Print the packet to output
|
# Print the packet to output
|
||||||
print("Packet: %s" % readable_data)
|
print("Packet: %s" % readable_data)
|
||||||
|
|
||||||
|
|
||||||
|
func register_node(node_id: int, node: Node):
|
||||||
|
if node_id in node_map:
|
||||||
|
printerr("Node ID already registered.")
|
||||||
|
else:
|
||||||
|
node_map[node_id] = node
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func request_player_avatar(user_id: int, size: int = 128) -> void:
|
func request_player_avatar(user_id: int, size: int = 128) -> void:
|
||||||
var avatar_texture: ImageTexture = null
|
var avatar_texture: ImageTexture = null
|
||||||
Steam.getPlayerAvatar(Steam.AVATAR_LARGE, user_id)
|
Steam.getPlayerAvatar(Steam.AVATAR_LARGE, user_id)
|
||||||
@ -370,3 +381,5 @@ func _on_game_started():
|
|||||||
func sync_property(node_id: int, property_name: String, value: Variant):
|
func sync_property(node_id: int, property_name: String, value: Variant):
|
||||||
var packet_data = {"message":"property_update", "node_id":node_id, "property_name":property_name, "value":value}
|
var packet_data = {"message":"property_update", "node_id":node_id, "property_name":property_name, "value":value}
|
||||||
send_p2p_packet(0, packet_data)
|
send_p2p_packet(0, packet_data)
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ var previous_global_rotation: Vector3
|
|||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
NetworkManager.property_update_received.connect(_on_property_update)
|
NetworkManager.property_update_received.connect(_on_property_update)
|
||||||
|
NetworkManager.register_node(get_instance_id(), "Player")
|
||||||
|
|
||||||
func _enter_tree() -> void:
|
func _enter_tree() -> void:
|
||||||
player_tag = get_node("PlayerTag")
|
player_tag = get_node("PlayerTag")
|
||||||
@ -149,10 +150,12 @@ func set_is_piloting(state: bool):
|
|||||||
if !is_network_authority: return
|
if !is_network_authority: return
|
||||||
is_piloting = state
|
is_piloting = state
|
||||||
GameConsole.log_debug("player pilot state" + str(is_piloting))
|
GameConsole.log_debug("player pilot state" + str(is_piloting))
|
||||||
|
|
||||||
|
|
||||||
func _on_property_update(node_id: int, property_name: String, value: Variant) -> void:
|
func _on_property_update(node_id: int, property_name: String, value: Variant) -> void:
|
||||||
printerr("Recieved property update but node_id is wrong?: " + property_name + " = " + str(value))
|
if NetworkManager.node_map.has(node_id):
|
||||||
if node_id == get_instance_id():
|
var node = NetworkManager.node_map[node_id]
|
||||||
|
node.set(property_name, value)
|
||||||
print("Received property update: " + property_name + " = " + str(value))
|
print("Received property update: " + property_name + " = " + str(value))
|
||||||
set(property_name, value)
|
else:
|
||||||
|
printerr("Received property update but node_id is wrong? Got " + str(get_instance_id()) + " but got " + str(node_id))
|
||||||
|
Loading…
Reference in New Issue
Block a user