mirror of
https://github.com/Relintai/broken_seals.git
synced 2025-01-08 01:49:35 +01:00
More work on fixing networking. Also updated ESS to get the fixes from it too.
This commit is contained in:
parent
288eaabe18
commit
9ba79d9dc4
2
HEADS
2
HEADS
@ -1 +1 @@
|
|||||||
{"engine": {"3.2": "94a0fc47f7b4e90f8973f9adbfd3312579ed2825", "master": "8c73e813134001e575b6f59e3b0100471c007410", "3.x": "17e61fa0aff88f843b89e9769b81861c1954ef8a"}, "world_generator": {"master": "260c430f11b0b591eaf4714516419aa327d2842c"}, "entity_spell_system": {"master": "71dc15650adaeac2df0e113e398abb253c6d4926"}, "ui_extensions": {"master": "f82273f54cb1ab87d458c91af9554acec5c10831"}, "voxelman": {"master": "9253cc53c6fbbd78b5e4268eb498ef55b4dd0181"}, "texture_packer": {"master": "a0786956813a85b5a82093a081b90c2f8a000e6c"}, "fastnoise": {"master": "d447fd5364e9ab5a6b14184483eab23cd3fe820b"}, "mesh_data_resource": {"master": "4830687056297c432bfbfd1a2c1572546daf8e7d"}, "procedural_animations": {"master": "f8aae42bf06b3936cc6bd24cb18e1c3ec9f78f4f"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "props": {"master": "2afd6eff45f9a921bdf4090ff3029def86df5cb5"}, "mesh_utils": {"master": "92b6066d026ba8bfec62282063c372f5ec76dea4"}, "broken_seals_module": {"master": "2afea56eba66beeb543934edf5a38a8aa63fc79b"}, "thread_pool": {"master": "b2e8c815392052947e7386f722913a12eea543a4"}, "terraman": {"master": "86de26c2c7a15185658680ae79c39a0c8bb159ce"}}
|
{"engine": {"3.2": "94a0fc47f7b4e90f8973f9adbfd3312579ed2825", "master": "8c73e813134001e575b6f59e3b0100471c007410", "3.x": "17e61fa0aff88f843b89e9769b81861c1954ef8a"}, "world_generator": {"master": "260c430f11b0b591eaf4714516419aa327d2842c"}, "entity_spell_system": {"master": "cc9dc30b8377552df79ee4d53e1ed6d51cb87408"}, "ui_extensions": {"master": "f82273f54cb1ab87d458c91af9554acec5c10831"}, "voxelman": {"master": "9253cc53c6fbbd78b5e4268eb498ef55b4dd0181"}, "texture_packer": {"master": "a0786956813a85b5a82093a081b90c2f8a000e6c"}, "fastnoise": {"master": "d447fd5364e9ab5a6b14184483eab23cd3fe820b"}, "mesh_data_resource": {"master": "4830687056297c432bfbfd1a2c1572546daf8e7d"}, "procedural_animations": {"master": "f8aae42bf06b3936cc6bd24cb18e1c3ec9f78f4f"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "props": {"master": "2afd6eff45f9a921bdf4090ff3029def86df5cb5"}, "mesh_utils": {"master": "92b6066d026ba8bfec62282063c372f5ec76dea4"}, "broken_seals_module": {"master": "2afea56eba66beeb543934edf5a38a8aa63fc79b"}, "thread_pool": {"master": "b2e8c815392052947e7386f722913a12eea543a4"}, "terraman": {"master": "86de26c2c7a15185658680ae79c39a0c8bb159ce"}}
|
@ -31,6 +31,8 @@ var _spawn_parent : Node = null
|
|||||||
|
|
||||||
var _next_entity_guid : int = 0
|
var _next_entity_guid : int = 0
|
||||||
|
|
||||||
|
var _debug : bool = false
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
# get_scene_tree().multiplayer.connect("network_peer_packet", self, "on_network_peer_packet")
|
# get_scene_tree().multiplayer.connect("network_peer_packet", self, "on_network_peer_packet")
|
||||||
|
|
||||||
@ -52,18 +54,29 @@ func on_network_peer_packet(id : int, packet : PoolByteArray) ->void:
|
|||||||
|
|
||||||
func spawn_for(player : Entity, target: Entity) -> void:
|
func spawn_for(player : Entity, target: Entity) -> void:
|
||||||
Logger.info("spawnfor " + target.name)
|
Logger.info("spawnfor " + target.name)
|
||||||
print("spawnfor " + target.name)
|
|
||||||
|
if _debug:
|
||||||
|
print("spawnfor " + player.name + " - " + target.name)
|
||||||
|
|
||||||
|
if player == target:
|
||||||
|
if _debug:
|
||||||
|
print("spawn_for: player == target!")
|
||||||
|
return
|
||||||
|
|
||||||
rpc_id(player.get_network_master(), "creceive_spawn_for", to_json(target.to_dict()), target.name, target.get_transform_3d().origin)
|
rpc_id(player.get_network_master(), "creceive_spawn_for", to_json(target.to_dict()), target.name, target.get_transform_3d().origin)
|
||||||
|
|
||||||
func despawn_for(player : Entity, target: Entity) -> void:
|
func despawn_for(player : Entity, target: Entity) -> void:
|
||||||
Logger.info("despawnfor " + target.name)
|
Logger.info("despawnfor " + target.name)
|
||||||
|
|
||||||
|
if _debug:
|
||||||
print("despawnfor " + target.name)
|
print("despawnfor " + target.name)
|
||||||
|
|
||||||
rpc_id(player.get_network_master(), "creceive_despawn_for", target.get_path())
|
rpc_id(player.get_network_master(), "creceive_despawn_for", target.get_path())
|
||||||
|
|
||||||
remote func creceive_spawn_for(data: String, global_name : String, position: Vector3) -> Entity:
|
remote func creceive_spawn_for(data: String, global_name : String, position: Vector3) -> Entity:
|
||||||
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
||||||
|
|
||||||
createinfo.player_name = global_name
|
createinfo.node_name = global_name
|
||||||
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
||||||
createinfo.entity_player_type = EntityEnums.ENTITY_PLAYER_TYPE_NETWORKED
|
createinfo.entity_player_type = EntityEnums.ENTITY_PLAYER_TYPE_NETWORKED
|
||||||
createinfo.serialized_data = parse_json(data)
|
createinfo.serialized_data = parse_json(data)
|
||||||
@ -73,6 +86,9 @@ remote func creceive_spawn_for(data: String, global_name : String, position: Vec
|
|||||||
|
|
||||||
Logger.info("Player spawned ")
|
Logger.info("Player spawned ")
|
||||||
|
|
||||||
|
if _debug:
|
||||||
|
print("creceive_spawn_for " + global_name)
|
||||||
|
|
||||||
return createinfo.created_entity
|
return createinfo.created_entity
|
||||||
|
|
||||||
remote func creceive_despawn_for(path : NodePath) -> void:
|
remote func creceive_despawn_for(path : NodePath) -> void:
|
||||||
@ -85,8 +101,9 @@ remote func creceive_despawn_for(path : NodePath) -> void:
|
|||||||
remote func spawn_owned_player(data : String, position : Vector3) -> Entity:
|
remote func spawn_owned_player(data : String, position : Vector3) -> Entity:
|
||||||
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
||||||
|
|
||||||
createinfo.guid = _next_entity_guid
|
#createinfo.guid = _next_entity_guid
|
||||||
_next_entity_guid += 1
|
#_next_entity_guid += 1
|
||||||
|
#createinfo.node_name = global_name
|
||||||
createinfo.network_owner = multiplayer.get_network_unique_id()
|
createinfo.network_owner = multiplayer.get_network_unique_id()
|
||||||
# createinfo.player_name = ""
|
# createinfo.player_name = ""
|
||||||
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
||||||
@ -96,7 +113,10 @@ remote func spawn_owned_player(data : String, position : Vector3) -> Entity:
|
|||||||
|
|
||||||
ESS.request_entity_spawn(createinfo)
|
ESS.request_entity_spawn(createinfo)
|
||||||
var e : Entity = createinfo.created_entity
|
var e : Entity = createinfo.created_entity
|
||||||
e.set_network_master(createinfo.network_owner)
|
#e.set_network_master(multiplayer.get_network_unique_id())
|
||||||
|
|
||||||
|
if _debug:
|
||||||
|
print("spawn_owned_player " + e.name)
|
||||||
|
|
||||||
Logger.info("Player spawned ")
|
Logger.info("Player spawned ")
|
||||||
|
|
||||||
@ -105,8 +125,8 @@ remote func spawn_owned_player(data : String, position : Vector3) -> Entity:
|
|||||||
func load_player(file_name : String, position : Vector3, network_owner : int) -> Entity:
|
func load_player(file_name : String, position : Vector3, network_owner : int) -> Entity:
|
||||||
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
||||||
|
|
||||||
createinfo.guid = _next_entity_guid
|
#createinfo.guid = _next_entity_guid
|
||||||
_next_entity_guid += 1
|
#_next_entity_guid += 1
|
||||||
createinfo.network_owner = network_owner
|
createinfo.network_owner = network_owner
|
||||||
# createinfo.player_name = name
|
# createinfo.player_name = name
|
||||||
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
||||||
@ -117,13 +137,21 @@ func load_player(file_name : String, position : Vector3, network_owner : int) ->
|
|||||||
Logger.info("Player spawned ")
|
Logger.info("Player spawned ")
|
||||||
ESS.request_entity_spawn(createinfo)
|
ESS.request_entity_spawn(createinfo)
|
||||||
|
|
||||||
|
if _debug:
|
||||||
|
print("load_player " + file_name)
|
||||||
|
|
||||||
return createinfo.created_entity
|
return createinfo.created_entity
|
||||||
|
|
||||||
func load_uploaded_character(data : String, position : Vector3, network_owner : int) -> Entity:
|
func load_uploaded_character(data : String, position : Vector3, network_owner : int) -> Entity:
|
||||||
|
if _debug:
|
||||||
|
print("load_uploaded_character ")
|
||||||
|
|
||||||
|
rpc_id(network_owner, "spawn_owned_player", data, position)
|
||||||
|
|
||||||
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
||||||
|
|
||||||
createinfo.guid = _next_entity_guid
|
#createinfo.guid = _next_entity_guid
|
||||||
_next_entity_guid += 1
|
#_next_entity_guid += 1
|
||||||
createinfo.network_owner = network_owner
|
createinfo.network_owner = network_owner
|
||||||
# createinfo.player_name = name
|
# createinfo.player_name = name
|
||||||
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
||||||
@ -134,8 +162,9 @@ func load_uploaded_character(data : String, position : Vector3, network_owner :
|
|||||||
Logger.info("Player spawned ")
|
Logger.info("Player spawned ")
|
||||||
ESS.request_entity_spawn(createinfo)
|
ESS.request_entity_spawn(createinfo)
|
||||||
var e : Entity = createinfo.created_entity
|
var e : Entity = createinfo.created_entity
|
||||||
e.set_network_master(network_owner)
|
|
||||||
rpc_id(network_owner, "spawn_owned_player", data, position)
|
#e.set_network_master(network_owner)
|
||||||
|
#e.centity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
||||||
|
|
||||||
return e
|
return e
|
||||||
|
|
||||||
@ -169,8 +198,8 @@ func spawn_player_for_menu(class_id : int, name : String, parent : Node) -> Enti
|
|||||||
func spawn_display_player(file_name : String, node_path : NodePath) -> Entity:
|
func spawn_display_player(file_name : String, node_path : NodePath) -> Entity:
|
||||||
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
var createinfo : EntityCreateInfo = EntityCreateInfo.new()
|
||||||
|
|
||||||
createinfo.guid = _next_entity_guid
|
#createinfo.guid = _next_entity_guid
|
||||||
_next_entity_guid += 1
|
#_next_entity_guid += 1
|
||||||
# createinfo.player_name = name
|
# createinfo.player_name = name
|
||||||
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_PLAYER
|
||||||
createinfo.entity_player_type = EntityEnums.ENTITY_PLAYER_TYPE_DISPLAY
|
createinfo.entity_player_type = EntityEnums.ENTITY_PLAYER_TYPE_DISPLAY
|
||||||
@ -195,7 +224,7 @@ func spawn_networked_player(class_id : int, position : Vector3, name : String,
|
|||||||
|
|
||||||
createinfo.class_id = class_id
|
createinfo.class_id = class_id
|
||||||
createinfo.entity_data = cls
|
createinfo.entity_data = cls
|
||||||
createinfo.player_name = name
|
createinfo.node_name = node_name
|
||||||
createinfo.level = 1
|
createinfo.level = 1
|
||||||
# createinfo.class_level = level
|
# createinfo.class_level = level
|
||||||
createinfo.xp = 0
|
createinfo.xp = 0
|
||||||
@ -225,7 +254,7 @@ func spawn_player(class_id : int, position : Vector3, name : String, node_name
|
|||||||
|
|
||||||
createinfo.class_id = class_id
|
createinfo.class_id = class_id
|
||||||
createinfo.entity_data = cls
|
createinfo.entity_data = cls
|
||||||
createinfo.player_name = name
|
createinfo.node_name = node_name
|
||||||
createinfo.level = 1
|
createinfo.level = 1
|
||||||
# createinfo.class_level = level
|
# createinfo.class_level = level
|
||||||
createinfo.xp = 0
|
createinfo.xp = 0
|
||||||
@ -250,7 +279,7 @@ func spawn_mob(class_id : int, level : int, position : Vector3) -> void:
|
|||||||
|
|
||||||
createinfo.class_id = class_id
|
createinfo.class_id = class_id
|
||||||
createinfo.entity_data = cls
|
createinfo.entity_data = cls
|
||||||
createinfo.player_name = "Mob"
|
#createinfo.node_name = "Mob"
|
||||||
createinfo.level = level
|
createinfo.level = level
|
||||||
# createinfo.class_level = level
|
# createinfo.class_level = level
|
||||||
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_AI
|
createinfo.entity_controller = EntityEnums.ENITIY_CONTROLLER_AI
|
||||||
@ -295,6 +324,19 @@ func _request_entity_spawn(createinfo : EntityCreateInfo):
|
|||||||
else:
|
else:
|
||||||
get_tree().root.get_node(createinfo.parent_path).add_child(entity_node)
|
get_tree().root.get_node(createinfo.parent_path).add_child(entity_node)
|
||||||
|
|
||||||
|
#print(entity_node.name)
|
||||||
|
|
||||||
|
if createinfo.network_owner == 0:
|
||||||
|
if createinfo.node_name == "":
|
||||||
|
entity_node.name = "Entity_" + str(_next_entity_guid)
|
||||||
|
_next_entity_guid += 1
|
||||||
|
else:
|
||||||
|
entity_node.name = createinfo.node_name
|
||||||
|
else:
|
||||||
|
entity_node.name = "Player_" + str(createinfo.network_owner)
|
||||||
|
|
||||||
|
#print(entity_node.name)
|
||||||
|
|
||||||
entity_node.setup(createinfo)
|
entity_node.setup(createinfo)
|
||||||
|
|
||||||
createinfo.created_entity = entity_node
|
createinfo.created_entity = entity_node
|
||||||
|
Loading…
Reference in New Issue
Block a user