diff --git a/3D Input/Bein_Mensch2.blend1 b/3D Input/Bein_Mensch.blend similarity index 95% rename from 3D Input/Bein_Mensch2.blend1 rename to 3D Input/Bein_Mensch.blend index dd943f1..f45e647 100644 Binary files a/3D Input/Bein_Mensch2.blend1 and b/3D Input/Bein_Mensch.blend differ diff --git a/3D Input/Bein_Mensch2.blend b/3D Input/Bein_Mensch.blend1 similarity index 96% rename from 3D Input/Bein_Mensch2.blend rename to 3D Input/Bein_Mensch.blend1 index 633127d..2f4f3a2 100644 Binary files a/3D Input/Bein_Mensch2.blend and b/3D Input/Bein_Mensch.blend1 differ diff --git a/3D Input/Fertige GLBs/Torso.glb b/3D Input/Fertige GLBs/Torso.glb new file mode 100644 index 0000000..834cd1a Binary files /dev/null and b/3D Input/Fertige GLBs/Torso.glb differ diff --git a/3D Input/Grundkörper Version 2.blend b/3D Input/Grundkörper Version 2.blend index 80d0c3c..3174af6 100644 Binary files a/3D Input/Grundkörper Version 2.blend and b/3D Input/Grundkörper Version 2.blend differ diff --git a/3D Input/Grundkörper Version 2.blend1 b/3D Input/Grundkörper Version 2.blend1 index 8cd2282..4fcd4b0 100644 Binary files a/3D Input/Grundkörper Version 2.blend1 and b/3D Input/Grundkörper Version 2.blend1 differ diff --git a/3D Input/Grundkörper_3.blend b/3D Input/Grundkörper_3.blend new file mode 100644 index 0000000..43df6b8 Binary files /dev/null and b/3D Input/Grundkörper_3.blend differ diff --git a/3D Input/Grundkörper_3.blend1 b/3D Input/Grundkörper_3.blend1 new file mode 100644 index 0000000..6ea74d4 Binary files /dev/null and b/3D Input/Grundkörper_3.blend1 differ diff --git a/3D Input/Grundkörpertexture.png b/3D Input/Grundkörpertexture.png new file mode 100644 index 0000000..1caaddc Binary files /dev/null and b/3D Input/Grundkörpertexture.png differ diff --git a/3D Input/Mensch_Bein.blend b/3D Input/Mensch_Bein.blend new file mode 100644 index 0000000..216ec85 Binary files /dev/null and b/3D Input/Mensch_Bein.blend differ diff --git a/3D Input/Mensch_Bein.blend1 b/3D Input/Mensch_Bein.blend1 new file mode 100644 index 0000000..7113e98 Binary files /dev/null and b/3D Input/Mensch_Bein.blend1 differ diff --git a/3D Input/Torso.glb b/3D Input/Torso.glb new file mode 100644 index 0000000..834cd1a Binary files /dev/null and b/3D Input/Torso.glb differ diff --git a/3D Input/oberkörperimg.jpg b/3D Input/oberkörperimg.jpg new file mode 100644 index 0000000..06af235 Binary files /dev/null and b/3D Input/oberkörperimg.jpg differ diff --git a/BodyConfig/bodyBuilderMenu.tscn b/BodyConfig/bodyBuilderMenu.tscn index fa7ab78..b0066b8 100644 --- a/BodyConfig/bodyBuilderMenu.tscn +++ b/BodyConfig/bodyBuilderMenu.tscn @@ -47,7 +47,7 @@ handle_input_locally = false render_target_update_mode = 3 [node name="Camera" type="Camera" parent="GUI/HBoxC/ViewportContainer/Viewport"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.16872 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7.8064 ) [node name="MouseLook" type="RayCast" parent="GUI/HBoxC/ViewportContainer/Viewport"] enabled = true diff --git a/BodyConfig/bodyBuildingScript.gd b/BodyConfig/bodyBuildingScript.gd index 9564bc6..e3e9c7a 100644 --- a/BodyConfig/bodyBuildingScript.gd +++ b/BodyConfig/bodyBuildingScript.gd @@ -67,8 +67,11 @@ func _physics_process(delta): if _rayCast.is_colliding(): # collider will be the node hit - _attachment_point = _rayCast.get_collider().get_parent() - print(_rayCast.get_collider()) + make_it_shine(false) + var temp = _rayCast.get_collider().get_parent() + if temp.has_node("OmniLight"): + _attachment_point = temp + make_it_shine(true) func _input(event): @@ -85,3 +88,8 @@ func _input(event): func body_part_chosen(params): _attachment_point.add_child(BodyPartLoader.bodyparts[params].instance()) + + +func make_it_shine(highlight : bool): + if _attachment_point != null: + _attachment_point.get_node("OmniLight").visible = highlight diff --git a/BodyParts/Arm.tscn b/BodyParts/Arm.tscn index 200c275..0413105 100644 --- a/BodyParts/Arm.tscn +++ b/BodyParts/Arm.tscn @@ -4,7 +4,7 @@ [ext_resource path="res://3D Input/untitled.glb" type="PackedScene" id=2] [ext_resource path="res://BodyParts/Arm.gd" type="Script" id=3] -[sub_resource type="CapsuleShape" id=3] +[sub_resource type="CapsuleShape" id=1] radius = 0.724339 height = 5.27855 @@ -13,28 +13,33 @@ radius = 0.591769 [node name="Arm" instance=ExtResource( 1 )] script = ExtResource( 3 ) +key = 0 +damage = 10.0 [node name="PartCollider" parent="." index="0"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -5.34203 ) -shape = SubResource( 3 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2.83 ) +shape = SubResource( 1 ) [node name="Mesh" parent="." index="1" instance=ExtResource( 2 )] [node name="Sphere" parent="Mesh" index="0"] visible = false +[node name="Armature" parent="Mesh" index="1"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) + [node name="BoneAttachment" type="BoneAttachment" parent="Mesh/Armature/Skeleton" index="1"] -transform = Transform( 1, -1.98247e-23, -2.98292e-24, 6.50669e-24, -9.49949e-08, 1, -2.07684e-23, -1, -9.49949e-08, -2.23781e-16, -0.0078205, -5.05441 ) +transform = Transform( 1, -1.98292e-23, -3.18966e-24, 6.71348e-24, -9.49949e-08, 1, -2.07636e-23, -1, -9.49949e-08, -2.23781e-16, -0.0078205, -5.05441 ) bone_name = "bone_2" [node name="RemoteTransform" type="RemoteTransform" parent="Mesh/Armature/Skeleton/BoneAttachment" index="0"] remote_path = NodePath("../../../../../TouchArea") [node name="TouchArea" parent="." index="2"] -transform = Transform( 1, -1.98247e-23, -2.98292e-24, 6.50669e-24, -9.49949e-08, 1, -2.07684e-23, -1, -9.49949e-08, -2.23781e-16, -0.0078205, -7.60024 ) +transform = Transform( 1, -1.98292e-23, -3.18966e-24, 6.71348e-24, -9.49949e-08, 1, -2.07636e-23, -1, -9.49949e-08, -2.23781e-16, -0.0078205, -5.05441 ) [node name="CollisionShape" type="CollisionShape" parent="TouchArea" index="0"] -transform = Transform( 1, 2.98291e-24, -1.98247e-23, -2.07684e-23, -9.49949e-08, -1, -6.50669e-24, 1, -9.49949e-08, 2.23781e-16, 0.399765, 0.00782054 ) +transform = Transform( 1, 2.98291e-24, -1.98247e-23, -2.07684e-23, -9.49949e-08, -1, -6.50669e-24, 1, -9.49949e-08, 0, 0, 0 ) shape = SubResource( 2 ) [editable path="Mesh"] diff --git a/BodyParts/BodyBase/AttachmentPoint.tscn b/BodyParts/BodyBase/AttachmentPoint.tscn new file mode 100644 index 0000000..049c59b --- /dev/null +++ b/BodyParts/BodyBase/AttachmentPoint.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=3 format=2] + +[sub_resource type="SphereMesh" id=1] + +[sub_resource type="SphereShape" id=2] + +[node name="AttachmentPoint" type="Spatial"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) + +[node name="Mesh" type="MeshInstance" parent="."] +transform = Transform( 0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0 ) +mesh = SubResource( 1 ) +material/0 = null + +[node name="OmniLight" type="OmniLight" parent="."] +transform = Transform( 1, 3.12639e-13, -1.77715e-26, -3.12639e-13, 1, -5.68434e-14, 0, 5.68434e-14, 1, -0.680858, 0, -1.38872 ) +visible = false +light_color = Color( 0.956863, 0.121569, 0.121569, 1 ) +light_energy = 3.86 +omni_range = 1.8 + +[node name="Area" type="Area" parent="."] + +[node name="CollisionShape" type="CollisionShape" parent="Area"] +transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0 ) +shape = SubResource( 2 ) diff --git a/BodyParts/BodyBase/BodyBase.tscn b/BodyParts/BodyBase/BodyBase.tscn index b80b9b8..eb25341 100644 --- a/BodyParts/BodyBase/BodyBase.tscn +++ b/BodyParts/BodyBase/BodyBase.tscn @@ -1,19 +1,12 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=5 format=2] [ext_resource path="res://BodyParts/BodyBase/BodyBase.gd" type="Script" id=1] +[ext_resource path="res://BodyParts/BodyBase/AttachmentPoint.tscn" type="PackedScene" id=2] [sub_resource type="CapsuleMesh" id=1] [sub_resource type="CapsuleShape" id=2] -[sub_resource type="SphereMesh" id=3] - -[sub_resource type="GDScript" id=4] - -[sub_resource type="SphereShape" id=5] - -[sub_resource type="SphereShape" id=6] - [node name="Torso" type="RigidBody"] script = ExtResource( 1 ) @@ -25,31 +18,8 @@ material/0 = null transform = Transform( 0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0 ) shape = SubResource( 2 ) -[node name="FrontLeft" type="Spatial" parent="."] +[node name="FrontLeft" parent="." instance=ExtResource( 2 )] transform = Transform( 0.5, -1.62921e-07, -0.866025, -3.25841e-07, -1, 0, -0.866025, 2.82187e-07, -0.5, 0.6, 0, 1 ) -[node name="FrontLeftAttachMent" type="MeshInstance" parent="FrontLeft"] -transform = Transform( 0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0 ) -mesh = SubResource( 3 ) -material/0 = null - -[node name="Area" type="Area" parent="FrontLeft"] -script = SubResource( 4 ) - -[node name="CollisionShape" type="CollisionShape" parent="FrontLeft/Area"] -transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0 ) -shape = SubResource( 5 ) - -[node name="FrontRight" type="Spatial" parent="."] -transform = Transform( 0.5, -1.62921e-07, 0.866025, -3.25841e-07, -1, 0, 0.866025, -2.82187e-07, -0.5, -0.6, 0, 1 ) - -[node name="FrontRightAttachMent" type="MeshInstance" parent="FrontRight"] -transform = Transform( 0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0 ) -mesh = SubResource( 3 ) -material/0 = null - -[node name="Area" type="Area" parent="FrontRight"] - -[node name="CollisionShape" type="CollisionShape" parent="FrontRight/Area"] -transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0 ) -shape = SubResource( 6 ) +[node name="FrontRight" parent="." instance=ExtResource( 2 )] +transform = Transform( -0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, -0.6, 0, 1 ) diff --git a/Controllers/GameStateController.gd b/Controllers/GameStateController.gd new file mode 100644 index 0000000..54dd23a --- /dev/null +++ b/Controllers/GameStateController.gd @@ -0,0 +1,49 @@ +extends Node + +var _win_screen_scene +var _fighting_scene_path = "res://Ingame/Testing.tscn" + +#test vars +var test = 0 +var tested = false +signal player_win(player_id) + + + +func _ready(): + _win_screen_scene = preload("res://UI/WinScreen.tscn").instance() + #_fighting_scene = preload("res://Ingame/Testing.tscn").instance() + + connect("player_win", self, "_switch_to_win") + _win_screen_scene.connect("start_fight", self, "_switch_to_fighting") + + +func _switch_scene(scene): + #delete children + for child in get_children(): + child.queue_free() + + #append win scene + add_child(scene) + + +func _switch_to_win(player_id): + _switch_scene(_win_screen_scene) + + #call win message in win scene + _win_screen_scene.set_win_message(player_id) + + +func _switch_to_fighting(): + #_switch_scene(_fighting_scene) + get_tree().reload_current_scene() + + +# test +#func _process(delta): + #if test > 3 and not tested: + #tested = true + #test = 0 + #emit_signal("player_win", 1) + #else: + #test += delta diff --git a/Controllers/GameStateController.tscn b/Controllers/GameStateController.tscn new file mode 100644 index 0000000..e55c1f8 --- /dev/null +++ b/Controllers/GameStateController.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Controllers/GameStateController.gd" type="Script" id=1] +[ext_resource path="res://Ingame/Testing.tscn" type="PackedScene" id=2] + +[node name="GameStateController" type="Node"] +script = ExtResource( 1 ) + +[node name="InGame" parent="." instance=ExtResource( 2 )] diff --git a/UI/WinScreen.tscn b/UI/WinScreen.tscn index 77fb92c..adffb9e 100644 --- a/UI/WinScreen.tscn +++ b/UI/WinScreen.tscn @@ -10,28 +10,52 @@ __meta__ = { "_edit_use_anchors_": false } labelPath = NodePath("MarginContainer/VBoxContainer/PlayerWon") +continuePath = NodePath("MarginContainer/VBoxContainer/Control/Continue") [node name="MarginContainer" type="MarginContainer" parent="."] anchor_right = 1.0 anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} [node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] margin_right = 1024.0 margin_bottom = 600.0 [node name="Congratz" type="Label" parent="MarginContainer/VBoxContainer"] -margin_top = -1.0 margin_right = 1024.0 -margin_bottom = 249.0 +margin_bottom = 250.0 rect_min_size = Vector2( 0, 250 ) text = "CONGRATULATIONS!" align = 1 valign = 2 [node name="PlayerWon" type="Label" parent="MarginContainer/VBoxContainer"] -margin_top = 254.0 +margin_top = 253.0 margin_right = 1024.0 -margin_bottom = 404.0 -rect_min_size = Vector2( 0, 150 ) +margin_bottom = 503.0 +rect_min_size = Vector2( 0, 250 ) align = 1 valign = 1 + +[node name="Control" type="Control" parent="MarginContainer/VBoxContainer"] +margin_top = 508.0 +margin_right = 1024.0 +margin_bottom = 508.0 + +[node name="Continue" type="Button" parent="MarginContainer/VBoxContainer/Control"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -100.0 +margin_top = -10.0 +margin_right = 100.0 +margin_bottom = 15.0 +rect_min_size = Vector2( 200, 25 ) +text = "Continue" +__meta__ = { +"_edit_use_anchors_": false +} +[connection signal="pressed" from="MarginContainer/VBoxContainer/Control/Continue" to="." method="_on_Continue_pressed"] diff --git a/UI/WinScreenScript.gd b/UI/WinScreenScript.gd index 0e8dae2..6d9c713 100644 --- a/UI/WinScreenScript.gd +++ b/UI/WinScreenScript.gd @@ -1,22 +1,23 @@ extends Control export(NodePath) var labelPath +export(NodePath) var continuePath -#signal player_win(player_id) +signal start_fight() var _playerWonLabel +var _continueButton -# Called when the node enters the scene tree for the first time. func _ready(): _playerWonLabel = get_node(labelPath) as Label - - #connect("player_win", self, "_win_message") - - #emit_signal("player_win", 1) + _continueButton = get_node(continuePath) as Label -func _win_message(player_id): - _playerWonLabel.text = "test" +func set_win_message(player_id): + _playerWonLabel.text = "Player " + str(player_id + 1) + " is victorious!" + + +func _on_Continue_pressed(): + print("test2") - #print("game won!") - #print(player_id) + emit_signal("start_fight")