Browse Source

Added visualisation for firing arc

pull/2/head
TechieDamien 1 year ago
parent
commit
93fbe838f6
  1. 21
      Scenes/Player.tscn
  2. 7
      Scripts/Arena.gd
  3. 13
      Scripts/Player.gd

21
Scenes/Player.tscn

@ -1,4 +1,4 @@
[gd_scene load_steps=18 format=2]
[gd_scene load_steps=19 format=2]
[ext_resource path="res://Scripts/Player.gd" type="Script" id=1]
[ext_resource path="res://Models/Arrow.obj" type="ArrayMesh" id=2]
@ -14,6 +14,7 @@
[ext_resource path="res://Images/BatteryFilling.png" type="Texture" id=12]
[ext_resource path="res://Images/BatteryBackground.png" type="Texture" id=13]
[ext_resource path="res://Models/cone-collision.tres" type="Shape" id=14]
[ext_resource path="res://Models/Cone.obj" type="ArrayMesh" id=15]
[sub_resource type="CapsuleShape" id=1]
radius = 0.15
@ -478,6 +479,11 @@ angular_damp = 0.0
transform = Transform( 25, 0, 0, 0, -4.07302e-06, -100, 0, 25, -1.62921e-05, 0, 1000, 0 )
shape = ExtResource( 14 )
[node name="Cone" type="MeshInstance" parent="GunContainer/Cone/CollisionShape"]
visible = false
mesh = ExtResource( 15 )
material/0 = ExtResource( 4 )
[node name="spaceship-gun" parent="GunContainer" instance=ExtResource( 10 )]
transform = Transform( 1, 0, 1.64203e-15, 0, 1, 0, 1.64203e-15, 0, 1, 4.47035e-08, 0.811224, -3.54597e-08 )
@ -571,6 +577,18 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="WeaponVisualiserMenu" type="OptionButton" parent="WeaponsPanel"]
anchor_left = 0.5
anchor_top = 0.8
anchor_right = 0.5
anchor_bottom = 0.8
margin_left = -50.0
margin_right = 50.0
grow_horizontal = 2
text = "None"
items = [ "None", null, false, 0, null, "Self", null, false, 1, null, "Everyone", null, false, 2, null ]
selected = 0
[node name="StatusPanel" type="Panel" parent="."]
visible = false
anchor_left = 0.5
@ -645,3 +663,4 @@ margin_bottom = -10.0
[connection signal="pressed" from="ThrustPanel/ResetButton" to="." method="_on_ResetButton_pressed"]
[connection signal="body_entered" from="GunContainer/Cone" to="." method="_on_player_enter_firing_arc"]
[connection signal="body_exited" from="GunContainer/Cone" to="." method="_on_player_exit_firing_arc"]
[connection signal="item_selected" from="WeaponsPanel/WeaponVisualiserMenu" to="." method="_on_WeaponVisualiserMenu_item_selected"]

7
Scripts/Arena.gd

@ -37,13 +37,11 @@ func mouse_exit(player_obj : RigidBody):
remote func declare_winner(name : String) -> void:
winner_name = "Victor: " + name
$WinnerPanel/WinnerLabel.text = winner_name
func show_winner() -> void:
if winner_name != null:
$WinnerPanel.visible = true
func _on_RematchButton_pressed():
$WinnerPanel/RematchButton.disabled = true
$Camera.clear_register()
@ -53,9 +51,10 @@ func _on_RematchButton_pressed():
winner_name = null
rpc_id(1, "request_rematch", get_tree().get_network_unique_id())
func _on_ExitButton_pressed():
get_parent().exit_button_pressed()
func set_all_firing_arc_visibilities(toggle : bool) -> void:
for player in players.values():
player.set_firing_arc_visibility(toggle)

13
Scripts/Player.gd

@ -522,7 +522,6 @@ func _fire_gun(delta : float) -> void:
if closest_enemy != null:
$GunContainer/RayCast.look_at($GunContainer/RayCast.global_transform.origin - translation, Vector3(0,1,0))
#$GunContainer/RayCast.rotate_object_local(Vector3(-1,-1,-1).normalized(), 90.0)
var raycast_pos : Vector3 = $GunContainer/RayCast.global_transform.origin
var target_pos : Vector3 = $GunContainer/RayCast.get_collision_point()
_update_laser(raycast_pos.distance_to(target_pos))
@ -616,3 +615,15 @@ func _on_player_enter_firing_arc(body):
func _on_player_exit_firing_arc(body):
players_in_firing_arc.erase(body)
print(body.name)
func set_firing_arc_visibility(toggle : bool) -> void:
$GunContainer/Cone/CollisionShape/Cone.visible = toggle
func _on_WeaponVisualiserMenu_item_selected(index):
if index == 0:
get_parent().set_all_firing_arc_visibilities(false)
elif index == 1:
get_parent().set_all_firing_arc_visibilities(false)
set_firing_arc_visibility(true)
elif index == 2:
get_parent().set_all_firing_arc_visibilities(true)
Loading…
Cancel
Save