Compare commits

..

3 Commits

8 changed files with 83 additions and 53 deletions

View File

@@ -1,7 +1,8 @@
[gd_scene load_steps=6 format=3 uid="uid://by6suwmds7xq2"] [gd_scene load_steps=7 format=3 uid="uid://by6suwmds7xq2"]
[ext_resource type="Script" uid="uid://d3t381vws7vns" path="res://scripts/level.gd" id="1_qcd3b"] [ext_resource type="Script" uid="uid://d3t381vws7vns" path="res://scripts/level.gd" id="1_qcd3b"]
[ext_resource type="PackedScene" uid="uid://bgocskbofewsr" path="res://templates/HUD.tscn" id="1_x4b8f"] [ext_resource type="PackedScene" uid="uid://bgocskbofewsr" path="res://templates/HUD.tscn" id="1_x4b8f"]
[ext_resource type="PackedScene" uid="uid://cqa0p34mbk6so" path="res://templates/pawn_camera.tscn" id="5_tmr53"]
[ext_resource type="MeshLibrary" uid="uid://bhpyvhf36jl0f" path="res://testing.tres" id="7_88ety"] [ext_resource type="MeshLibrary" uid="uid://bhpyvhf36jl0f" path="res://testing.tres" id="7_88ety"]
[ext_resource type="MeshLibrary" uid="uid://cvhm40o2uw5mr" path="res://testing markers.tres" id="7_ahbqi"] [ext_resource type="MeshLibrary" uid="uid://cvhm40o2uw5mr" path="res://testing markers.tres" id="7_ahbqi"]
@@ -60,7 +61,7 @@ _spawnable_scenes = PackedStringArray("uid://bk3yqawritfnj")
spawn_path = NodePath("../Traps") spawn_path = NodePath("../Traps")
[node name="CameraSpawner" type="MultiplayerSpawner" parent="."] [node name="CameraSpawner" type="MultiplayerSpawner" parent="."]
_spawnable_scenes = PackedStringArray("uid://cqa0p34mbk6so") _spawnable_scenes = PackedStringArray("res://templates/camera.tscn")
spawn_path = NodePath("../Cameras") spawn_path = NodePath("../Cameras")
[node name="Pawns" type="Node3D" parent="."] [node name="Pawns" type="Node3D" parent="."]
@@ -74,3 +75,22 @@ unique_name_in_owner = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_x4b8f") environment = SubResource("Environment_x4b8f")
[node name="HUD" parent="." instance=ExtResource("1_x4b8f")]
[node name="SubViewportContainer" type="SubViewportContainer" parent="HUD/Control/PanelContainer/HBoxContainer/PanelContainer2" index="0"]
layout_mode = 2
[node name="SubViewport" type="SubViewport" parent="HUD/Control/PanelContainer/HBoxContainer/PanelContainer2/SubViewportContainer"]
unique_name_in_owner = true
handle_input_locally = false
canvas_cull_mask = 4294967294
size = Vector2i(150, 204)
render_target_update_mode = 4
[node name="Camera" parent="HUD/Control/PanelContainer/HBoxContainer/PanelContainer2/SubViewportContainer/SubViewport" instance=ExtResource("5_tmr53")]
transform = Transform3D(1, 0, 0, 0, 0.49999997, 0.86602545, 0, -0.86602545, 0.49999997, 3.366806, 6.4681396, 0)
[node name="RemoteTransform3D" type="RemoteTransform3D" parent="HUD/Control/PanelContainer/HBoxContainer/PanelContainer2/SubViewportContainer/SubViewport/Camera"]
[editable path="HUD"]

View File

@@ -82,10 +82,9 @@ func _process(delta : float) -> void:
selector_wait -= delta selector_wait -= delta
return return
var input_vector : Vector2 var input_vector : Vector2
if Multiplayer.is_host():
input_vector = Input.get_vector("west","east","north","south") input_vector = Input.get_vector("west","east","north","south")
else:
input_vector = Input.get_vector("ui_focus_prev","ui_focus_next","north","south")
var move_dir : Vector2 = Vector2.ZERO var move_dir : Vector2 = Vector2.ZERO
if input_vector.x < 0: if input_vector.x < 0:

View File

@@ -2,7 +2,7 @@ class_name Level extends Node3D
const pawn_controller = preload("res://templates/pawn_controller.tscn") const pawn_controller = preload("res://templates/pawn_controller.tscn")
const trap_template = preload("res://templates/trap.tscn") const trap_template = preload("res://templates/trap.tscn")
const camera_template = preload("res://templates/camera.tscn") const camera_template = preload("res://templates/pawn_camera.tscn")
const camera_offset = Vector3(0, 10, 5.25) const camera_offset = Vector3(0, 10, 5.25)

View File

@@ -1,24 +1,24 @@
class_name MultiplayerPC extends PawnController class_name MultiplayerPC extends PawnController
@export var player_id := 1 : #@export var player_id := 1 :
set(id): #set(id):
player_id = id #player_id = id
#
func _enter_tree() -> void: #func _enter_tree() -> void:
print("Player %d adding Controller for %d" % [Multiplayer.id, player_id]) #print("Player %d adding Controller for %d" % [Multiplayer.id, player_id])
##Game.player = self
#pass
#
#func setup(id) -> void:
#name = "Player " + str(id)
#player_id = id
#if Multiplayer.id == id:
#Game.player = self #Game.player = self
pass #
#func _physics_process(delta: float) -> void:
func setup(id) -> void: #var dir = Input.get_vector("west", "east", "north", "south")
name = "Player " + str(id) #dir = Vector3(dir.x, 0, dir.y)
player_id = id #if dir.length_squared() > 0:
if Multiplayer.id == id: #body.look_at(body.global_position - dir)
Game.player = self #velocity = speed * dir
#move_and_slide()
func _physics_process(delta: float) -> void:
var dir = Input.get_vector("west", "east", "north", "south")
dir = Vector3(dir.x, 0, dir.y)
if dir.length_squared() > 0:
body.look_at(body.global_position - dir)
velocity = speed * dir
move_and_slide()

View File

@@ -1,19 +1,19 @@
extends Level extends Level
const pawn_controller_template = preload("res://templates/pawn_controller.tscn") #const pawn_controller_template = preload("res://templates/pawn_controller.tscn")
#
@onready var player_spawner = %Spawner #@onready var player_spawner = %Spawner
func _ready() -> void: #func _ready() -> void:
print("LEVEL LOADING, ID: " + str(Multiplayer.id) + " with " + str(Multiplayer.players.size()) + " keys recognized") #print("LEVEL LOADING, ID: " + str(Multiplayer.id) + " with " + str(Multiplayer.players.size()) + " keys recognized")
Game.level = self #Game.level = self
#
func setup() -> void: #func setup() -> void:
if Multiplayer.is_host(): #if Multiplayer.is_host():
spawn_players() #spawn_players()
#
func spawn_players() -> void: #func spawn_players() -> void:
for key in Game.pawns_selected: #for key in Game.pawns_selected:
var pc : PawnController = pawn_controller_template.instantiate() #var pc : PawnController = pawn_controller_template.instantiate()
var pd = Game.pawns_selected[key] #var pd = Game.pawns_selected[key]
player_spawner.add_pawn(pc, key) #player_spawner.add_pawn(pc, key)
pc.setup(key,pd.starting_traps) #pc.setup(key,pd.starting_traps)

View File

@@ -9,7 +9,6 @@ enum State {
DEAD DEAD
} }
const camera_template = preload("res://templates/camera.tscn")
const trap_template = preload("res://templates/trap.tscn") const trap_template = preload("res://templates/trap.tscn")
const remove_trap_modal = preload("res://templates/remove_trap_modal.tscn") const remove_trap_modal = preload("res://templates/remove_trap_modal.tscn")
const disarm_trap_modal = preload("res://templates/disarm_trap_modal.tscn") const disarm_trap_modal = preload("res://templates/disarm_trap_modal.tscn")

View File

@@ -213,14 +213,14 @@ script = ExtResource("13_bftxg")
unique_name_in_owner = true unique_name_in_owner = true
stream = ExtResource("14_d888c") stream = ExtResource("14_d888c")
[node name="PanelContainer3" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer"] [node name="AmmoPanel" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer"]
custom_minimum_size = Vector2(150, 100) custom_minimum_size = Vector2(150, 100)
layout_mode = 2 layout_mode = 2
[node name="Control" type="Control" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3"] [node name="Control" type="Control" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/AmmoPanel"]
layout_mode = 2 layout_mode = 2
[node name="TextureRect2" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3/Control"] [node name="TextureRect2" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/AmmoPanel/Control"]
layout_mode = 0 layout_mode = 0
offset_left = 128.0 offset_left = 128.0
offset_top = 38.0 offset_top = 38.0
@@ -228,7 +228,7 @@ offset_right = 180.0
offset_bottom = 90.0 offset_bottom = 90.0
texture = SubResource("GradientTexture1D_gomyg") texture = SubResource("GradientTexture1D_gomyg")
[node name="TextureRect" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3/Control"] [node name="TextureRect" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/AmmoPanel/Control"]
layout_mode = 0 layout_mode = 0
offset_left = 8.0 offset_left = 8.0
offset_top = -25.0 offset_top = -25.0
@@ -237,7 +237,7 @@ offset_bottom = 104.0
texture = ExtResource("18_iv5le") texture = ExtResource("18_iv5le")
expand_mode = 1 expand_mode = 1
[node name="AmmoLabel" type="Label" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3/Control"] [node name="AmmoLabel" type="Label" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/AmmoPanel/Control"]
unique_name_in_owner = true unique_name_in_owner = true
layout_mode = 0 layout_mode = 0
offset_left = 141.0 offset_left = 141.0
@@ -248,10 +248,22 @@ theme_override_font_sizes/font_size = 48
text = "9" text = "9"
horizontal_alignment = 1 horizontal_alignment = 1
[node name="PanelContainer2" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer"] [node name="OppnentView" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer"]
custom_minimum_size = Vector2(150, 0) custom_minimum_size = Vector2(150, 0)
layout_mode = 2 layout_mode = 2
[node name="SubViewportContainer" type="SubViewportContainer" parent="Control/PanelContainer/HBoxContainer/OppnentView"]
layout_mode = 2
[node name="SubViewport" type="SubViewport" parent="Control/PanelContainer/HBoxContainer/OppnentView/SubViewportContainer"]
handle_input_locally = false
gui_disable_input = true
render_target_update_mode = 4
[node name="TextureRect" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/OppnentView/SubViewportContainer/SubViewport"]
offset_right = 40.0
offset_bottom = 40.0
[node name="VBoxContainer3" type="VBoxContainer" parent="Control/PanelContainer/HBoxContainer"] [node name="VBoxContainer3" type="VBoxContainer" parent="Control/PanelContainer/HBoxContainer"]
custom_minimum_size = Vector2(250, 0) custom_minimum_size = Vector2(250, 0)
layout_mode = 2 layout_mode = 2