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="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://cvhm40o2uw5mr" path="res://testing markers.tres" id="7_ahbqi"]
@@ -60,7 +61,7 @@ _spawnable_scenes = PackedStringArray("uid://bk3yqawritfnj")
spawn_path = NodePath("../Traps")
[node name="CameraSpawner" type="MultiplayerSpawner" parent="."]
_spawnable_scenes = PackedStringArray("uid://cqa0p34mbk6so")
_spawnable_scenes = PackedStringArray("res://templates/camera.tscn")
spawn_path = NodePath("../Cameras")
[node name="Pawns" type="Node3D" parent="."]
@@ -74,3 +75,22 @@ unique_name_in_owner = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
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
return
var input_vector : Vector2
if Multiplayer.is_host():
input_vector = Input.get_vector("west","east","north","south")
else:
input_vector = Input.get_vector("ui_focus_prev","ui_focus_next","north","south")
input_vector = Input.get_vector("west","east","north","south")
var move_dir : Vector2 = Vector2.ZERO
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 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)

View File

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

View File

@@ -9,7 +9,6 @@ enum State {
DEAD
}
const camera_template = preload("res://templates/camera.tscn")
const trap_template = preload("res://templates/trap.tscn")
const remove_trap_modal = preload("res://templates/remove_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
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)
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
[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
offset_left = 128.0
offset_top = 38.0
@@ -228,7 +228,7 @@ offset_right = 180.0
offset_bottom = 90.0
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
offset_left = 8.0
offset_top = -25.0
@@ -237,7 +237,7 @@ offset_bottom = 104.0
texture = ExtResource("18_iv5le")
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
layout_mode = 0
offset_left = 141.0
@@ -248,10 +248,22 @@ theme_override_font_sizes/font_size = 48
text = "9"
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)
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"]
custom_minimum_size = Vector2(250, 0)
layout_mode = 2