Trying to add multiplayer again
This commit is contained in:
parent
2577c032fd
commit
c9625327df
@ -1,10 +1,6 @@
|
||||
extends Node
|
||||
|
||||
var players := {}
|
||||
|
||||
func add_player(id: int, name: String):
|
||||
if ! players.has(id):
|
||||
players[id] = {"name": name}
|
||||
var test = 1
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
|
@ -15,6 +15,10 @@ run/main_scene="res://scenes/utils/Menu.tscn"
|
||||
config/features=PackedStringArray("4.3", "Forward Plus")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
GameServerManager="*res://scripts/game_server_manager.gd"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=1920
|
||||
|
@ -6,16 +6,21 @@ var player_side: String
|
||||
@onready var intro_view_port = $Intro/CameraMount/IntroCamera/SubViewportContainer/SubViewport
|
||||
@onready var spawns = $Spawns
|
||||
@onready var root = $'.'
|
||||
|
||||
@onready var players = $Players
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
var char : Node3D = null
|
||||
var red_spawn: Node3D = $Spawns/Blue/SpawnArea
|
||||
var position := red_spawn.global_position
|
||||
char = ResourceLoader.load("res://scenes/utils/character.tscn").instantiate()
|
||||
char.name = str(multiplayer.get_unique_id())
|
||||
char.global_position = position
|
||||
root.add_child(char)
|
||||
if multiplayer.is_server():
|
||||
for i in GameServerManager.players:
|
||||
char = ResourceLoader.load("res://scenes/utils/character.tscn").instantiate()
|
||||
char.name = str(GameServerManager.players[i].name)
|
||||
char.global_position = position
|
||||
var my_random_number = RandomNumberGenerator.new().randf_range(-2.0, 2.0)
|
||||
char.global_position = position
|
||||
char.global_position.x += my_random_number
|
||||
players.add_child(char)
|
||||
pass
|
||||
|
||||
|
||||
|
@ -27,4 +27,7 @@ size = Vector3(0.484497, 1, 5.99213)
|
||||
|
||||
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
|
||||
_spawnable_scenes = PackedStringArray("res://scenes/utils/character.tscn")
|
||||
spawn_path = NodePath("../Spawns/Red/SpawnArea")
|
||||
spawn_path = NodePath("../Players")
|
||||
spawn_limit = 4
|
||||
|
||||
[node name="Players" type="Node3D" parent="."]
|
||||
|
@ -39,8 +39,7 @@ func _on_host_pressed() -> void:
|
||||
|
||||
players[1] = player_info
|
||||
player_connected.emit(1, player_info)
|
||||
game_server_manager.add_player(1, "host")
|
||||
|
||||
GameServerManager.players[1] = {"id": "1", "name": "host"}
|
||||
func remove_multiplayer_peer():
|
||||
multiplayer.multiplayer_peer = null
|
||||
|
||||
@ -66,8 +65,12 @@ func _on_join_pressed() -> void:
|
||||
if error:
|
||||
print(error)
|
||||
multiplayer.multiplayer_peer = peer
|
||||
|
||||
add_player.rpc_id(1, multiplayer.get_unique_id(), "guest")
|
||||
|
||||
@rpc("call_remote")
|
||||
func add_player(id: int, name: String):
|
||||
if not GameServerManager.players.has(id):
|
||||
GameServerManager.players[1] = {"id": str(id), "name": name}
|
||||
|
||||
func _on_player_connected(id: Variant, player_info: Variant) -> void:
|
||||
print(player_info)
|
||||
|
11
scripts/game_server_manager.gd
Normal file
11
scripts/game_server_manager.gd
Normal file
@ -0,0 +1,11 @@
|
||||
extends Node
|
||||
|
||||
var players = {}
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
Loading…
x
Reference in New Issue
Block a user