summaryrefslogtreecommitdiffstats
path: root/assets/view_model
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--assets/view_model/ViewModel.gd15
-rw-r--r--assets/view_model/ViewModel.tscn5
2 files changed, 15 insertions, 5 deletions
diff --git a/assets/view_model/ViewModel.gd b/assets/view_model/ViewModel.gd
index cb85117..6d42a5a 100644
--- a/assets/view_model/ViewModel.gd
+++ b/assets/view_model/ViewModel.gd
@@ -8,7 +8,7 @@ export var gravity = 35
var velocity = Vector3.ZERO
var snap = Vector3.DOWN
-onready var character = $BaseCharacter
+export(NodePath) onready var character = get_node(character)
onready var anchor = $Anchor
onready var spring_arm = $Anchor/SpringArm
onready var fps_label = $fps_label
@@ -64,6 +64,9 @@ func _physics_process(delta):
# Handle extra player inputs
character.is_firing = Input.is_action_pressed("fire")
+
+ if Input.is_action_just_pressed("ping"):
+ cycle_parent()
func _unhandled_input(event):
# Implement mouse aim direction
@@ -73,3 +76,13 @@ func _unhandled_input(event):
spring_arm.rotation_degrees.y -= event.relative.x * aim_sensitivity
spring_arm.rotation_degrees.y = wrapf(spring_arm.rotation_degrees.y, 0, 360)
+
+func cycle_parent():
+ var parents = get_tree().get_nodes_in_group("players")
+ var idx = parents.find(character)
+
+ if idx < 0 or idx == parents.size() - 1:
+ if parents.size() > 0:
+ character = parents[0]
+ else:
+ character = parents[idx + 1]
diff --git a/assets/view_model/ViewModel.tscn b/assets/view_model/ViewModel.tscn
index 3412e91..f6390af 100644
--- a/assets/view_model/ViewModel.tscn
+++ b/assets/view_model/ViewModel.tscn
@@ -1,13 +1,10 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=2 format=2]
-[ext_resource path="res://assets/characters/base_character/BaseCharacter.tscn" type="PackedScene" id=1]
[ext_resource path="res://assets/view_model/ViewModel.gd" type="Script" id=2]
[node name="ViewModel" type="Spatial"]
script = ExtResource( 2 )
-[node name="BaseCharacter" parent="." instance=ExtResource( 1 )]
-
[node name="Anchor" type="Spatial" parent="."]
[node name="SpringArm" type="SpringArm" parent="Anchor"]