Merge multiplayer_spawner and lobby-map into develop #3
1
splunk/game-logic/game_manager.gd
Normal file
1
splunk/game-logic/game_manager.gd
Normal file
@@ -0,0 +1 @@
|
||||
extends Node
|
||||
1
splunk/game-logic/game_manager.gd.uid
Normal file
1
splunk/game-logic/game_manager.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dsl58fvqxa6ul
|
||||
@@ -1,5 +1,7 @@
|
||||
extends Node
|
||||
|
||||
@onready var player_scene: PackedScene = preload("res://player/Player.tscn")
|
||||
|
||||
var is_owned: bool = false
|
||||
var steam_app_id: int = 480
|
||||
var steam_id: int = 0
|
||||
@@ -230,6 +232,11 @@ func _on_lobby_chat_update(lobby_id_update: int, user_changed_id: int, user_maki
|
||||
|
||||
func _on_peer_connected(id: int) -> void:
|
||||
print("[Multiplayer] ✅ Peer connected: %s" % id)
|
||||
var new_player = player_scene.instantiate() as Player
|
||||
new_player.set_multiplayer_authority(id)
|
||||
$".".add_child(new_player)
|
||||
new_player.position = Vector3(0,1,0)
|
||||
|
||||
# It's good practice to re-check lobby members when a peer connects successfully.
|
||||
get_lobby_members()
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ properties/1/spawn = true
|
||||
properties/1/replication_mode = 2
|
||||
properties/2/path = NodePath("Label3D:text")
|
||||
properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
properties/2/replication_mode = 2
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
collision_layer = 2
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
extends CharacterBody3D
|
||||
class_name Player
|
||||
|
||||
@export var speed = 5.0
|
||||
@export var jump_velocity = 4.5
|
||||
@@ -8,12 +9,17 @@ var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||
var camera_node: Camera3D
|
||||
|
||||
func _ready():
|
||||
if !is_multiplayer_authority():
|
||||
pass
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||
camera_node = $Camera3D # Assuming Camera3D is a direct child
|
||||
camera_node.current = true
|
||||
|
||||
$Label3D.text = SteamManager.steam_username
|
||||
|
||||
func _physics_process(delta):
|
||||
if !is_multiplayer_authority():
|
||||
pass
|
||||
# Apply gravity
|
||||
if not is_on_floor():
|
||||
velocity.y -= gravity * delta
|
||||
@@ -41,6 +47,8 @@ func _physics_process(delta):
|
||||
move_and_slide()
|
||||
|
||||
func _input(event):
|
||||
if !is_multiplayer_authority():
|
||||
pass
|
||||
if event is InputEventMouseMotion:
|
||||
# Rotate the CharacterBody3D around the Y-axis for horizontal look
|
||||
rotate_y(-event.relative.x * mouse_sensitivity)
|
||||
|
||||
Reference in New Issue
Block a user