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