diff --git a/Controllers/GameStateController.gd b/Controllers/GameStateController.gd index 636dabf..e5d23c1 100644 --- a/Controllers/GameStateController.gd +++ b/Controllers/GameStateController.gd @@ -7,8 +7,13 @@ const _win_screen_path = "res://UI/WinScreen.tscn" var _body_build_scene var _fighting_scene var _win_screen_scene +var _bodies : Array +var _body_count = 0 +var _body_positions = [Vector3(-30, 3, 0), Vector3(30, 3, 0), Vector3(0, 3, -30), Vector3(0, 3, 30)] func _ready(): + InGameState.player_count = 2 + _prep_scene("body_build") _prep_scene("fight_scene") _prep_scene("win_screen") @@ -52,18 +57,24 @@ func _switch_to_win(player_id): func _switch_to_fighting(torso): _body_build_scene.remove_child(torso) + torso.global_transform.origin = Vector3.ZERO - torso.translation += Vector3(0, 3, 0) + torso.translation += Vector3(0, 4, 0) torso.rotation = Vector3.ZERO - _switch_scene(_fighting_scene, "fight_scene") - _fighting_scene.add_child(torso) + _body_count += 1 + if _body_count < InGameState.player_count: + _bodies.append(torso) + _switch_scene(_body_build_scene, "body_build") + else: + _switch_scene(_fighting_scene, "fight_scene") - torso.axis_lock_linear_x = false - torso.axis_lock_linear_y = false - torso.axis_lock_linear_z = false + for body in _bodies: + _fighting_scene.add_child(body) + _fighting_scene.add_child(torso) func _switch_to_body_build(): _switch_scene(_body_build_scene, "body_build") + diff --git a/Ingame/CameraFocus.gd b/Ingame/CameraFocus.gd index 920504d..4fe5278 100644 --- a/Ingame/CameraFocus.gd +++ b/Ingame/CameraFocus.gd @@ -1,13 +1,14 @@ extends Spatial - -onready var player1 = get_parent().get_node("Torso") -onready var player2 = get_parent().get_node("Torso2") - onready var camera = get_node("Camera") func _process(delta: float) -> void: + var player1 = get_parent().get_child(3) + var player2 = get_parent().get_child(4) + + if not player1 and player2: return + var center = player2.transform.origin + (player1.transform.origin - player2.transform.origin) / 2.0 var distance = (player1.transform.origin - player2.transform.origin).length() diff --git a/Ingame/Testing.tscn b/Ingame/Testing.tscn index 97d61f7..3513bd2 100644 --- a/Ingame/Testing.tscn +++ b/Ingame/Testing.tscn @@ -1,12 +1,9 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=5 format=2] -[ext_resource path="res://BodyParts/Arm.tscn" type="PackedScene" id=1] [ext_resource path="res://UI/UI.tscn" type="PackedScene" id=2] -[ext_resource path="res://BodyParts/BodyBase/BodyBase.tscn" type="PackedScene" id=3] [ext_resource path="res://Ingame/Ingame.gd" type="Script" id=4] [ext_resource path="res://Ingame/Arena.tscn" type="PackedScene" id=5] [ext_resource path="res://Ingame/CameraFocus.gd" type="Script" id=6] -[ext_resource path="res://BodyParts/HumanLeg.tscn" type="PackedScene" id=7] [node name="InGame" type="Spatial"] script = ExtResource( 4 ) @@ -15,37 +12,8 @@ script = ExtResource( 4 ) [node name="Arena" parent="." instance=ExtResource( 5 )] -[node name="Torso" parent="." instance=ExtResource( 3 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 17.8512, 2, 0 ) - -[node name="Torso2" parent="." instance=ExtResource( 3 )] -transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 2, -10 ) - -[node name="HumanLeg" parent="Torso2/DownFrontLeft/Limb" index="0" instance=ExtResource( 7 )] - -[node name="Arm" parent="Torso2/DownFrontRight/Limb" index="0" instance=ExtResource( 1 )] -key = 83 - -[node name="Arm" parent="Torso2/DownBackRight/Limb" index="0" instance=ExtResource( 1 )] -key = 81 - -[node name="Arm" parent="Torso2/DownBackLeft/Limb" index="0" instance=ExtResource( 1 )] -key = 80 - [node name="CameraFocus" type="Spatial" parent="."] script = ExtResource( 6 ) [node name="Camera" type="Camera" parent="CameraFocus"] transform = Transform( -4.2222e-08, -0.707107, 0.707107, -1.13133e-08, 0.707107, 0.707107, -1, 2.18557e-08, -3.78552e-08, 19, 17, -2 ) - -[editable path="Torso"] - -[editable path="Torso2"] - -[editable path="Torso2/DownFrontLeft"] - -[editable path="Torso2/DownFrontRight"] - -[editable path="Torso2/DownBackRight"] - -[editable path="Torso2/DownBackLeft"]