WIP: Better player input system
This commit is contained in:
@ -20,11 +20,11 @@ func _ready() -> void:
|
||||
|
||||
err = _add_player_spawner()
|
||||
if err != OK:
|
||||
print("Couldn't load player spawner")
|
||||
push_error("Couldn't load player spawner")
|
||||
|
||||
err = _add_object_spawner()
|
||||
if err != OK:
|
||||
print("Couldn't load object spawner")
|
||||
push_error("Couldn't load object spawner")
|
||||
# add objects spawner
|
||||
if multiplayer.is_server():
|
||||
_spawn_player(1)
|
||||
|
@ -19,12 +19,13 @@ func _get_root() -> Node3D:
|
||||
# -- Spawn a player node and sync it across all peers
|
||||
func spawn_players(spawn_location: SpawnController, id: int) -> Error:
|
||||
if multiplayer.is_server():
|
||||
var char : CharacterBody3D = null
|
||||
var char : Node3D = null
|
||||
var player_data: PlayerState = GameServerManager.players[id]
|
||||
char = ResourceLoader.load("res://scenes/characters/placeholder.tscn").instantiate()
|
||||
char = ResourceLoader.load("res://scenes/player/placeholder.tscn").instantiate()
|
||||
char.name = "PlayerPlaceholder_" + str(player_data.id)
|
||||
char.owner_id = id
|
||||
var position: Vector3 = spawn_location.get_spawner(SpawnController.Sides.BLUE)
|
||||
char.global_position = position
|
||||
char.set_server_position(position)
|
||||
_get_root().add_child(char)
|
||||
return OK
|
||||
return ERR_UNAUTHORIZED
|
||||
|
@ -6,7 +6,7 @@
|
||||
script = ExtResource("1_2hsyd")
|
||||
|
||||
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
|
||||
_spawnable_scenes = PackedStringArray("res://scenes/characters/placeholder.tscn")
|
||||
_spawnable_scenes = PackedStringArray("res://scenes/characters/placeholder.tscn", "res://scenes/player/placeholder.tscn")
|
||||
spawn_path = NodePath("../Players")
|
||||
spawn_limit = 10
|
||||
|
||||
|
@ -31,9 +31,7 @@ func _get_available_spawn(spawn_set: Node3D) -> Node3D:
|
||||
for spawn: Node3D in spawn_set.get_children():
|
||||
if not spawn.busy:
|
||||
spawns.push_back(spawn)
|
||||
print(spawns.size())
|
||||
var random_index: int = randi_range(0, spawns.size() - 1)
|
||||
print(random_index)
|
||||
return spawns[random_index]
|
||||
return null
|
||||
|
||||
@ -41,13 +39,11 @@ func _get_available_spawn(spawn_set: Node3D) -> Node3D:
|
||||
func get_spawner(team: Sides) -> Vector3:
|
||||
match team:
|
||||
Sides.BLUE:
|
||||
print("Getting a blue spawner")
|
||||
var spawn := _get_available_spawn(blue_spawners)
|
||||
return spawn.choose_spawn_location()
|
||||
Sides.RED:
|
||||
print("red")
|
||||
return Vector3(0,0,0)
|
||||
_:
|
||||
print("хз")
|
||||
return Vector3(0,0,0)
|
||||
# Get all spawners for each team
|
||||
|
@ -962,7 +962,7 @@ script = ExtResource("2_1ss1b")
|
||||
[node name="Blue" type="Node3D" parent="SpawnLocations"]
|
||||
|
||||
[node name="Spawn4" type="Node3D" parent="SpawnLocations/Blue"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 53.1487, -0.0093751, -8.68195)
|
||||
transform = Transform3D(-0.332276, 0, 0.943182, 0, 1, 0, -0.943182, 0, -0.332276, 53.1487, -0.0093751, -8.68195)
|
||||
|
||||
[node name="Spawn1" type="Node3D" parent="SpawnLocations/Blue"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 52.9098, -0.00937462, 10.3532)
|
||||
|
Reference in New Issue
Block a user