Fixed #15
This commit is contained in:
parent
32725e5f26
commit
a895ebf791
7 changed files with 106 additions and 3 deletions
|
@ -91,7 +91,7 @@ func _physics_process(delta):
|
||||||
|
|
||||||
if Global.playerAlive:
|
if Global.playerAlive:
|
||||||
# Handle Jump.
|
# Handle Jump.
|
||||||
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
|
if Input.is_action_just_pressed("jump") and is_on_floor():
|
||||||
velocity.y = JUMP_VELOCITY
|
velocity.y = JUMP_VELOCITY
|
||||||
var input_dir = Input.get_vector("player_left", "player_right", "player_forward", "player_backward")
|
var input_dir = Input.get_vector("player_left", "player_right", "player_forward", "player_backward")
|
||||||
var direction = (neck.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
var direction = (neck.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||||
|
@ -132,6 +132,13 @@ func _physics_process(delta):
|
||||||
elif Global.consoleOpen:
|
elif Global.consoleOpen:
|
||||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||||
Global.consoleOpen = false # We remove the scene in console.gd
|
Global.consoleOpen = false # We remove the scene in console.gd
|
||||||
|
if Global.roundInSession == false:
|
||||||
|
if teddyAuthority == 1:
|
||||||
|
Global.HUDStartLabelText = "PRESS ENTER/RETURN TO START THE ROUND"
|
||||||
|
if Input.is_action_just_pressed("start_game"):
|
||||||
|
if teddyAuthority == 1:
|
||||||
|
Global.roundInSession = true
|
||||||
|
rpc("round_start")
|
||||||
rpc("remote_set_position", global_position, $CollisionShape3D/Neck/Camera3D/BulletGenerator.global_position, $CollisionShape3D/Neck/Camera3D/BulletGenerator.global_rotation)
|
rpc("remote_set_position", global_position, $CollisionShape3D/Neck/Camera3D/BulletGenerator.global_position, $CollisionShape3D/Neck/Camera3D/BulletGenerator.global_rotation)
|
||||||
rpc("set_teddy_name", teddyName, Global.playerName)
|
rpc("set_teddy_name", teddyName, Global.playerName)
|
||||||
move_and_slide()
|
move_and_slide()
|
||||||
|
@ -165,3 +172,7 @@ func teddy_dead_nomore():
|
||||||
@rpc("any_peer", "unreliable")
|
@rpc("any_peer", "unreliable")
|
||||||
func set_teddy_name(node, name):
|
func set_teddy_name(node, name):
|
||||||
get_node(node).set_text(name)
|
get_node(node).set_text(name)
|
||||||
|
|
||||||
|
@rpc("authority", "reliable", "call_remote")
|
||||||
|
func round_start():
|
||||||
|
Global.roundInSession = true
|
||||||
|
|
BIN
fonts/League.otf
Normal file
BIN
fonts/League.otf
Normal file
Binary file not shown.
33
fonts/League.otf.import
Normal file
33
fonts/League.otf.import
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="font_data_dynamic"
|
||||||
|
type="FontFile"
|
||||||
|
uid="uid://dvvqq2hluaa3o"
|
||||||
|
path="res://.godot/imported/League.otf-4bf82794605133c3c9f41f6a15f76895.fontdata"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://fonts/League.otf"
|
||||||
|
dest_files=["res://.godot/imported/League.otf-4bf82794605133c3c9f41f6a15f76895.fontdata"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
Rendering=null
|
||||||
|
antialiasing=1
|
||||||
|
generate_mipmaps=false
|
||||||
|
multichannel_signed_distance_field=false
|
||||||
|
msdf_pixel_range=8
|
||||||
|
msdf_size=48
|
||||||
|
allow_system_fallback=true
|
||||||
|
force_autohinter=false
|
||||||
|
hinting=1
|
||||||
|
subpixel_positioning=1
|
||||||
|
oversampling=0.0
|
||||||
|
Fallbacks=null
|
||||||
|
fallbacks=[]
|
||||||
|
Compress=null
|
||||||
|
compress=true
|
||||||
|
preload=[]
|
||||||
|
language_support={}
|
||||||
|
script_support={}
|
||||||
|
opentype_features={}
|
|
@ -74,3 +74,14 @@ console_send={
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null)
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
start_game={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194310,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
jump={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
[gd_scene load_steps=3 format=3 uid="uid://ytbacsuahxie"]
|
[gd_scene load_steps=4 format=3 uid="uid://ytbacsuahxie"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/HUD.gd" id="1_mqiiw"]
|
[ext_resource type="Script" path="res://scripts/HUD.gd" id="1_mqiiw"]
|
||||||
[ext_resource type="Texture2D" uid="uid://tjvdle3jlb6g" path="res://textures/crosshair1.png" id="2_5dvrx"]
|
[ext_resource type="Texture2D" uid="uid://tjvdle3jlb6g" path="res://textures/crosshair1.png" id="2_5dvrx"]
|
||||||
|
[ext_resource type="FontFile" uid="uid://dvvqq2hluaa3o" path="res://fonts/League.otf" id="3_x1wqt"]
|
||||||
|
|
||||||
[node name="HUD" type="Control"]
|
[node name="HUD" type="Control"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
|
@ -132,3 +133,34 @@ offset_right = 145.0
|
||||||
offset_bottom = 244.0
|
offset_bottom = 244.0
|
||||||
text = "Player 10: 0"
|
text = "Player 10: 0"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
|
|
||||||
|
[node name="timerPanel" type="Panel" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 476.0
|
||||||
|
offset_top = 41.0
|
||||||
|
offset_right = 674.0
|
||||||
|
offset_bottom = 116.0
|
||||||
|
|
||||||
|
[node name="timer" type="Label" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 5
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
offset_left = -91.0
|
||||||
|
offset_top = 54.0
|
||||||
|
offset_right = 91.0
|
||||||
|
offset_bottom = 107.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
theme_override_fonts/font = ExtResource("3_x1wqt")
|
||||||
|
theme_override_font_sizes/font_size = 60
|
||||||
|
text = "10:00"
|
||||||
|
|
||||||
|
[node name="startLabel" type="Label" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 253.0
|
||||||
|
offset_top = 560.0
|
||||||
|
offset_right = 878.0
|
||||||
|
offset_bottom = 593.0
|
||||||
|
theme_override_fonts/font = ExtResource("3_x1wqt")
|
||||||
|
theme_override_font_sizes/font_size = 29
|
||||||
|
horizontal_alignment = 1
|
||||||
|
|
|
@ -1,10 +1,24 @@
|
||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
|
var roundTimer := 600.0
|
||||||
|
var minutes
|
||||||
|
var seconds
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
pass
|
minutes = roundTimer / 60
|
||||||
|
seconds = fmod(roundTimer, 60)
|
||||||
|
$timer.text = "%02d:%02d" % [minutes, seconds]
|
||||||
|
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
|
$startLabel.text = Global.HUDStartLabelText
|
||||||
$Fatigue.value = Global.fatigue
|
$Fatigue.value = Global.fatigue
|
||||||
$Health.value = Global.playerHealth
|
$Health.value = Global.playerHealth
|
||||||
|
if Global.roundInSession == true and roundTimer >= 0:
|
||||||
|
$startLabel.text = ""
|
||||||
|
roundTimer -= delta
|
||||||
|
minutes = roundTimer / 60
|
||||||
|
seconds = fmod(roundTimer, 60)
|
||||||
|
$timer.text = "%02d:%02d" % [minutes, seconds]
|
||||||
|
if roundTimer <= 0.0:
|
||||||
|
Global.HUDStartLabelText = "GAME OVER"
|
||||||
|
|
|
@ -19,6 +19,8 @@ var multiplayerCurrent = false # Whether the player is using multiplayer
|
||||||
var currentMapNode # Defined in map scripts
|
var currentMapNode # Defined in map scripts
|
||||||
var teddyAuthorityID # Defined from teddy.gd after object is initalized
|
var teddyAuthorityID # Defined from teddy.gd after object is initalized
|
||||||
var miniMenuResume = false # Set to true by mainmenu.gd
|
var miniMenuResume = false # Set to true by mainmenu.gd
|
||||||
|
var roundInSession = false # Goes true once the round is started in Teddy.gd
|
||||||
|
var HUDStartLabelText = "" # The text displayed at the bottom of the screen of the server
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
if godMode:
|
if godMode:
|
||||||
|
|
Loading…
Reference in a new issue