diff --git a/assets/ui/end_screen_frame.svg b/assets/ui/end_screen_frame.svg index 3b652670..d4c41984 100644 --- a/assets/ui/end_screen_frame.svg +++ b/assets/ui/end_screen_frame.svg @@ -28,7 +28,7 @@ inkscape:document-units="mm" inkscape:zoom="0.45495383" inkscape:cx="967.1311" - inkscape:cy="747.32857" + inkscape:cy="746.22957" inkscape:current-layer="layer1" /> @@ -38,12 +38,12 @@ id="layer1"> diff --git a/assets/ui/frame.svg b/assets/ui/frame.svg index 0e99522b..6682aab4 100644 --- a/assets/ui/frame.svg +++ b/assets/ui/frame.svg @@ -26,9 +26,9 @@ inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" - inkscape:zoom="0.69040128" - inkscape:cx="396.87064" - inkscape:cy="715.5259" + inkscape:zoom="1.3808026" + inkscape:cx="142.67065" + inkscape:cy="916.49598" inkscape:current-layer="layer1" /> @@ -38,12 +38,12 @@ id="layer1"> diff --git a/modules/break_utopia/level_end.cpp b/modules/break_utopia/level_end.cpp index 09492a1e..95c23b76 100644 --- a/modules/break_utopia/level_end.cpp +++ b/modules/break_utopia/level_end.cpp @@ -27,6 +27,11 @@ void LevelEnd::_bind_methods() { void LevelEnd::body_entered(Node *body) { if (cast_to(body) != nullptr) { Node *scene{ this->intermission_screen->instantiate() }; + Ref result{ memnew(LevelResult) }; + result->store_current_state(); + if (IntermissionScreen * intermission{ cast_to(scene->get_node(NodePath("%IntermissionScreen"))) }) { + intermission->set_result(result); + } callable_mp(get_tree(), &SceneTree::change_scene_to_node).call_deferred(scene); } } @@ -43,3 +48,7 @@ void LevelEnd::_notification(int what) { return; } } + +void IntermissionScreen::_bind_methods() { + BIND_HPROPERTY(Variant::OBJECT, result, PROPERTY_HINT_RESOURCE_TYPE, "LevelResult"); +} diff --git a/modules/break_utopia/level_end.h b/modules/break_utopia/level_end.h index 45c88192..2e19ffc4 100644 --- a/modules/break_utopia/level_end.h +++ b/modules/break_utopia/level_end.h @@ -3,6 +3,8 @@ #include "break_utopia/macros.h" #include "core/io/resource.h" #include "scene/3d/physics/area_3d.h" +#include "scene/gui/control.h" +#include "scene/main/viewport.h" #include "scene/resources/packed_scene.h" class LevelResult : public Resource { @@ -37,3 +39,12 @@ private: public: GET_SET_FNS(Ref, intermission_screen); }; + +class IntermissionScreen : public Control { + GDCLASS(IntermissionScreen, Control); + static void _bind_methods(); + Ref result{}; + +public: + GET_SET_FNS(Ref, result); +}; diff --git a/modules/break_utopia/register_types.cpp b/modules/break_utopia/register_types.cpp index 9a28e892..2111a082 100644 --- a/modules/break_utopia/register_types.cpp +++ b/modules/break_utopia/register_types.cpp @@ -33,6 +33,7 @@ void initialize_break_utopia_module(ModuleInitializationLevel p_level) { ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); + ClassDB::register_class(); } void uninitialize_break_utopia_module(ModuleInitializationLevel p_level) { diff --git a/project/assets/effects/glow_material.tres b/project/assets/effects/glow_material.tres index a875020b..9cdd30c7 100644 --- a/project/assets/effects/glow_material.tres +++ b/project/assets/effects/glow_material.tres @@ -3,6 +3,6 @@ [resource] cull_mode = 1 shading_mode = 0 -albedo_color = Color(0.9, 0, 0.47999996, 1) +albedo_color = Color(0.99899036, 1.8289685e-06, 0.53277034, 1) grow = true grow_amount = 0.02 diff --git a/project/assets/models/character/character.blend b/project/assets/models/character/character.blend index 1f2ba117..488a4058 100644 Binary files a/project/assets/models/character/character.blend and b/project/assets/models/character/character.blend differ diff --git a/project/assets/models/props/blockade.blend b/project/assets/models/props/blockade.blend index 6ae2da3b..806d055f 100644 Binary files a/project/assets/models/props/blockade.blend and b/project/assets/models/props/blockade.blend differ diff --git a/project/assets/models/props/fragments/blockade_fragments.blend b/project/assets/models/props/fragments/blockade_fragments.blend new file mode 100644 index 00000000..9132afbc Binary files /dev/null and b/project/assets/models/props/fragments/blockade_fragments.blend differ diff --git a/project/assets/models/props/fragments/blockade_fragments.blend.import b/project/assets/models/props/fragments/blockade_fragments.blend.import new file mode 100644 index 00000000..ada577ee --- /dev/null +++ b/project/assets/models/props/fragments/blockade_fragments.blend.import @@ -0,0 +1,60 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bffa2rkc5vprr" +path="res://.godot/imported/blockade_fragments.blend-c168b8a5186bf18457ebd8a8b1b10f88.scn" + +[deps] + +source_file="res://assets/models/props/fragments/blockade_fragments.blend" +dest_files=["res://.godot/imported/blockade_fragments.blend-c168b8a5186bf18457ebd8a8b1b10f88.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +blender/nodes/visible=0 +blender/nodes/active_collection_only=false +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/export_geometry_nodes_instances=false +blender/meshes/gpu_instances=false +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true +gltf/naming_version=2 diff --git a/project/assets/models/props/fragments/blockade_fragments_chainlink_albedo.png b/project/assets/models/props/fragments/blockade_fragments_chainlink_albedo.png new file mode 100644 index 00000000..0a57c774 Binary files /dev/null and b/project/assets/models/props/fragments/blockade_fragments_chainlink_albedo.png differ diff --git a/project/assets/models/props/fragments/blockade_fragments_chainlink_albedo.png.import b/project/assets/models/props/fragments/blockade_fragments_chainlink_albedo.png.import new file mode 100644 index 00000000..95ab9813 --- /dev/null +++ b/project/assets/models/props/fragments/blockade_fragments_chainlink_albedo.png.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjsy15i4d7dmt" +path.s3tc="res://.godot/imported/blockade_fragments_chainlink_albedo.png-803c6dd60a41c57a847ed2da61ee2a78.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={ +"md5": "70d1b975f745c18a590461cecd49d245" +} + +[deps] + +source_file="res://assets/models/props/fragments/blockade_fragments_chainlink_albedo.png" +dest_files=["res://.godot/imported/blockade_fragments_chainlink_albedo.png-803c6dd60a41c57a847ed2da61ee2a78.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/project/assets/ui/end_screen_frame.svg b/project/assets/ui/end_screen_frame.svg index 7bcd751b..bbb0881c 100644 --- a/project/assets/ui/end_screen_frame.svg +++ b/project/assets/ui/end_screen_frame.svg @@ -15,11 +15,11 @@ id="layer1"> diff --git a/project/assets/ui/frame.svg b/project/assets/ui/frame.svg index 6892c629..9b6c89bb 100644 --- a/project/assets/ui/frame.svg +++ b/project/assets/ui/frame.svg @@ -15,11 +15,11 @@ id="layer1"> diff --git a/project/objects/destructable_props/combo_gate.tscn b/project/objects/destructable_props/combo_gate.tscn index 1858d619..8f18c438 100644 --- a/project/objects/destructable_props/combo_gate.tscn +++ b/project/objects/destructable_props/combo_gate.tscn @@ -2,6 +2,7 @@ [ext_resource type="PackedScene" uid="uid://b1j2onf8vl82j" path="res://assets/models/props/blockade.blend" id="1_pwcew"] [ext_resource type="Texture2D" uid="uid://ccp6svl4d1jab" path="res://assets/ui/west_face.png" id="2_ao1rk"] +[ext_resource type="PackedScene" uid="uid://bkdtw77ai1qrf" path="res://objects/destructable_props/combo_gate_destroyed.tscn" id="3_pgwac"] [sub_resource type="BoxShape3D" id="BoxShape3D_ao1rk"] size = Vector3(3.399414, 3.9816895, 0.4248047) @@ -33,6 +34,7 @@ texture = ExtResource("2_ao1rk") collision_layer = 11 collision_mask = 2 defense = 2 +destroyed_object = ExtResource("3_pgwac") shake_object = NodePath("../blockade") [node name="CollisionShape3D" type="CollisionShape3D" parent="DestructableObject" unique_id=992292980] diff --git a/project/objects/destructable_props/combo_gate_destroyed.tscn b/project/objects/destructable_props/combo_gate_destroyed.tscn new file mode 100644 index 00000000..958c8d64 --- /dev/null +++ b/project/objects/destructable_props/combo_gate_destroyed.tscn @@ -0,0 +1,28 @@ +[gd_scene format=3 uid="uid://bkdtw77ai1qrf"] + +[ext_resource type="PackedScene" uid="uid://bffa2rkc5vprr" path="res://assets/models/props/fragments/blockade_fragments.blend" id="1_c3uqf"] + +[sub_resource type="GDScript" id="GDScript_c3uqf"] +resource_name = "ComboGateDestroyed" +script/source = "extends Node3D + +var count : int = 0 + +func _ready(): + iter(self) + +func iter(node): + for child in node.get_children(): + if child is RigidBody3D: + child.linear_velocity = ((child.global_position - global_position).normalized() + Vector3(1, 0 ,0).rotated(Vector3.UP, randf_range(0, PI*2)).normalized()) * 4 + child.angular_velocity = Vector3(randf_range(4, 5), randf_range(4, 5), randf_range(4, 5)) + count += 1 + if count % 3 != 0: + get_tree().create_timer(5 + (count % 5)).timeout.connect(child.queue_free) + iter(child) +" + +[node name="ComboGateDestroyed" type="Node3D" unique_id=269300662] + +[node name="blockade_fragments" parent="." unique_id=860386304 instance=ExtResource("1_c3uqf")] +script = SubResource("GDScript_c3uqf") diff --git a/project/objects/destructable_props/table.tscn b/project/objects/destructable_props/table.tscn index 6f022b23..fd150438 100644 --- a/project/objects/destructable_props/table.tscn +++ b/project/objects/destructable_props/table.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=4 format=3 uid="uid://ct650octef6l3"] +[gd_scene format=3 uid="uid://ct650octef6l3"] [ext_resource type="PackedScene" uid="uid://cwc5pk8n2n85j" path="res://objects/destructable_props/table_destroyed.tscn" id="1_370rb"] [ext_resource type="PackedScene" uid="uid://48poptqvf7w4" path="res://assets/models/props/long_table.blend" id="2_7o4nk"] @@ -6,15 +6,16 @@ [sub_resource type="BoxShape3D" id="BoxShape3D_j8sr1"] size = Vector3(4.04395, 1.09866, 1.95508) -[node name="Table" type="Node3D"] +[node name="Table" type="Node3D" unique_id=86783406] -[node name="HitBox" type="DestructableObject" parent="."] +[node name="HitBox" type="DestructableObject" parent="." unique_id=2140583576 node_paths=PackedStringArray("shake_object")] collision_layer = 3 defense = 2 destroyed_object = ExtResource("1_370rb") +shake_object = NodePath("../long_table") -[node name="CollisionShape3D" type="CollisionShape3D" parent="HitBox"] +[node name="CollisionShape3D" type="CollisionShape3D" parent="HitBox" unique_id=1786095584] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.559225, 0) shape = SubResource("BoxShape3D_j8sr1") -[node name="long_table" parent="." instance=ExtResource("2_7o4nk")] +[node name="long_table" parent="." unique_id=1803023856 instance=ExtResource("2_7o4nk")] diff --git a/project/objects/player_body.tscn b/project/objects/player_body.tscn index ec16fa86..0da60570 100644 --- a/project/objects/player_body.tscn +++ b/project/objects/player_body.tscn @@ -227,9 +227,9 @@ root_motion_track = NodePath("character2/Skeleton3D:root") tree_root = SubResource("AnimationNodeStateMachine_yaurm") anim_player = NodePath("../character/AnimationPlayer") -[node name="character" parent="." unique_id=1193329137 instance=ExtResource("1_yaurm")] +[node name="character" parent="." unique_id=1031558579 instance=ExtResource("1_yaurm")] -[node name="BoneAttachment3D" type="BoneAttachment3D" parent="character/character2/Skeleton3D" parent_id_path=PackedInt32Array(1193329137, 519303389) index="2" unique_id=566409344] +[node name="BoneAttachment3D" type="BoneAttachment3D" parent="character/character2/Skeleton3D" parent_id_path=PackedInt32Array(1031558579, 1094092726) index="2" unique_id=566409344] transform = Transform3D(-0.74619925, -0.6650274, 0.030413395, 0.6645052, -0.7468186, -0.026356531, 0.040241107, 0.0005426332, 0.99918985, 0.6361852, 2.0346472, -0.14206453) bone_name = "hammer_2" bone_idx = 18 diff --git a/project/objects/ui/hud.tscn b/project/objects/ui/hud.tscn index 56bf2466..e89dfdae 100644 --- a/project/objects/ui/hud.tscn +++ b/project/objects/ui/hud.tscn @@ -3,6 +3,11 @@ [ext_resource type="Texture2D" uid="uid://cr56o21nptvt6" path="res://assets/ui/frame.svg" id="1_cer2l"] [ext_resource type="Texture2D" uid="uid://kn5w07mgntvq" path="res://assets/ui/frame_base.svg" id="2_25bap"] [ext_resource type="StyleBox" uid="uid://dx4vl7rb650ph" path="res://objects/ui/textbox_style.tres" id="3_lscdw"] +[ext_resource type="Texture2D" uid="uid://borgwswaglvre" path="res://assets/ui/style_letters/style_anarchic.png" id="4_ddhud"] +[ext_resource type="Texture2D" uid="uid://ddnnht5030owy" path="res://assets/ui/style_letters/style_explosive.png" id="5_guo48"] +[ext_resource type="Texture2D" uid="uid://cu6xs12a4v4lv" path="res://assets/ui/style_letters/style_destructive.png" id="6_xf154"] +[ext_resource type="Texture2D" uid="uid://bsspt7d0wkkwc" path="res://assets/ui/style_letters/style_catastrophic.png" id="7_8u8q2"] +[ext_resource type="Texture2D" uid="uid://b304c6efrbpup" path="res://assets/ui/style_letters/style_breaking.png" id="8_o8kss"] [sub_resource type="GDScript" id="GDScript_ddhud"] resource_name = "PauseFrame" @@ -60,31 +65,28 @@ func _health_changed(health : float): [sub_resource type="GDScript" id="GDScript_b61jh"] script/source = "extends RichTextLabel +@export var textures : Array[Texture2D] + func _ready(): LevelStatus.get_instance().style_changed.connect(_style_changed) _style_changed(0) func _style_changed(style): + %StyleTexture.texture = textures[style] match int(floor(style)): 0: - visible = false + text = \"\" 1: # F - visible = true text = \"Fatal\" 2: # E - visible = true text = \"Explosive\" 3: # D - visible = true text = \"Destructive\" 4: # C - visible = true text = \"Catastrophic\" 5: # B - visible = true text = \"Breaking\" 6: # A - visible = true text = \"Anarchist\" " @@ -155,38 +157,67 @@ value = 0.65 show_percentage = false script = SubResource("GDScript_lscdw") -[node name="PanelContainer" type="PanelContainer" parent="." unique_id=1876159707] +[node name="Panel" type="Panel" parent="." unique_id=828550183] layout_mode = 0 -offset_left = 0.9999995 -offset_top = -17.999996 -offset_right = 343.35724 -offset_bottom = 129.11588 -rotation = 0.049929842 +offset_left = 33.0 +offset_top = -31.0 +offset_right = 307.5043 +offset_bottom = 235.67764 +rotation = 0.18656573 theme_override_styles/panel = ExtResource("3_lscdw") -[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer" unique_id=1476210021] -layout_mode = 2 +[node name="PanelContainer" type="PanelContainer" parent="." unique_id=1876159707] +layout_mode = 0 +offset_left = -1.999999 +offset_top = 214.00002 +offset_right = 297.5713 +offset_bottom = 319.0 +rotation = 0.04287675 +theme_override_styles/panel = ExtResource("3_lscdw") -[node name="RichTextLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer" unique_id=1440807256] +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer" unique_id=1058345758] layout_mode = 2 -size_flags_vertical = 3 +theme_override_constants/separation = -10 + +[node name="RichTextLabel" type="RichTextLabel" parent="PanelContainer/HBoxContainer" unique_id=1440807256] +layout_mode = 2 +size_flags_horizontal = 3 focus_mode = 0 mouse_filter = 2 theme_override_colors/default_color = Color(0, 0, 0, 1) -theme_override_font_sizes/normal_font_size = 48 +theme_override_font_sizes/normal_font_size = 32 text = "Destructive" fit_content = true scroll_active = false vertical_alignment = 1 script = SubResource("GDScript_b61jh") +textures = Array[Texture2D]([null, null, ExtResource("5_guo48"), ExtResource("6_xf154"), ExtResource("7_8u8q2"), ExtResource("8_o8kss"), ExtResource("4_ddhud")]) + +[node name="StyleTexture" type="TextureRect" parent="." unique_id=1404766304] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 25.0 +offset_top = -2.0 +offset_right = 280.39163 +offset_bottom = 247.35599 +rotation = 0.05656576 +texture = ExtResource("4_ddhud") +expand_mode = 1 [node name="PanelContainer2" type="PanelContainer" parent="." unique_id=789180801] layout_mode = 1 -offset_left = -20.734081 -offset_top = 115.99999 -offset_right = 284.01514 -offset_bottom = 221.0 -rotation = 0.031108975 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -329.99988 +offset_top = -146.0 +offset_right = -25.250366 +offset_bottom = -41.0 +grow_horizontal = 0 +grow_vertical = 0 +rotation = 0.07959896 theme_override_styles/panel = ExtResource("3_lscdw") [node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer2" unique_id=788268433] diff --git a/project/scenes/level_end_screen.tscn b/project/scenes/level_end_screen.tscn index 4c5dcede..010c2623 100644 --- a/project/scenes/level_end_screen.tscn +++ b/project/scenes/level_end_screen.tscn @@ -6,6 +6,10 @@ [ext_resource type="Texture2D" uid="uid://c0yeswk37c1h7" path="res://assets/ui/end_screen_frame.svg" id="3_c1u11"] [ext_resource type="StyleBox" uid="uid://dx4vl7rb650ph" path="res://objects/ui/textbox_style.tres" id="4_pkge6"] [ext_resource type="Texture2D" uid="uid://b304c6efrbpup" path="res://assets/ui/style_letters/style_breaking.png" id="5_tx4gm"] +[ext_resource type="Texture2D" uid="uid://borgwswaglvre" path="res://assets/ui/style_letters/style_anarchic.png" id="7_fokjh"] +[ext_resource type="Texture2D" uid="uid://ddnnht5030owy" path="res://assets/ui/style_letters/style_explosive.png" id="7_jlscs"] +[ext_resource type="Texture2D" uid="uid://cu6xs12a4v4lv" path="res://assets/ui/style_letters/style_destructive.png" id="8_83m3j"] +[ext_resource type="Texture2D" uid="uid://bsspt7d0wkkwc" path="res://assets/ui/style_letters/style_catastrophic.png" id="9_j4c8f"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_444kp"] sky_horizon_color = Color(0.6527628, 0.6763377, 0.70551276, 1) @@ -31,6 +35,39 @@ func _ready(): $AnimationPlayer.play(\"falling\") " +[sub_resource type="LevelResult" id="LevelResult_jlscs"] + +[sub_resource type="GDScript" id="GDScript_jlscs"] +resource_name = "IntermissionScreenScoreLabel" +script/source = "extends RichTextLabel + +func _ready(): + text = \"Score: %d\" % %IntermissionScreen.result.score +" + +[sub_resource type="GDScript" id="GDScript_83m3j"] +resource_name = "IntermissionPercentageLabel" +script/source = "extends RichTextLabel + +func _ready(): + var result := (%IntermissionScreen as IntermissionScreen).result + if result.total_objects > 0: + text = \"Destroyed: %d\" % ((result.destroyed / result.total_objects) * 100) + else: + text = \"Destroyed: 0%\" +" + +[sub_resource type="GDScript" id="GDScript_7q532"] +resource_name = "IntermissionStyleLetter" +script/source = "extends TextureRect + +@export var textures : Array[Texture2D] +@onready var result := (%IntermissionScreen as IntermissionScreen).result + +func _ready(): + texture = textures[result.style-1] +" + [node name="LevelEndScreen" type="Node3D" unique_id=1188670411] [node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1630900158] @@ -46,27 +83,28 @@ flip_faces = true size = Vector3(6.0234375, 15.5095215, 6.79895) material = ExtResource("1_444kp") -[node name="character" parent="." unique_id=815638724 instance=ExtResource("1_48f2e")] +[node name="character" parent="." unique_id=1031558579 instance=ExtResource("1_48f2e")] script = SubResource("GDScript_48f2e") -[node name="body" parent="character/character2/Skeleton3D" parent_id_path=PackedInt32Array(815638724, 861182108) index="0" unique_id=341965371] +[node name="body" parent="character/character2/Skeleton3D" parent_id_path=PackedInt32Array(1031558579, 1094092726) index="0" unique_id=1162912264] material_overlay = ExtResource("3_7q532") -[node name="body_001" parent="character/character2/Skeleton3D" parent_id_path=PackedInt32Array(815638724, 861182108) index="1" unique_id=1376782923] +[node name="body_001" parent="character/character2/Skeleton3D" parent_id_path=PackedInt32Array(1031558579, 1094092726) index="1" unique_id=1829355373] material_overlay = ExtResource("3_7q532") -[node name="hammer" parent="character/character2/Skeleton3D" parent_id_path=PackedInt32Array(815638724, 861182108) index="2" unique_id=746522655] +[node name="hammer" parent="character/character2/Skeleton3D" parent_id_path=PackedInt32Array(1031558579, 1094092726) index="2" unique_id=1132059472] material_overlay = ExtResource("3_7q532") -[node name="UI" type="Control" parent="." unique_id=1653265546] -layout_mode = 3 +[node name="IntermissionScreen" type="IntermissionScreen" parent="." unique_id=167990140] +unique_name_in_owner = true anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +result = SubResource("LevelResult_jlscs") -[node name="TextureRect" type="TextureRect" parent="UI" unique_id=226567850] +[node name="TextureRect" type="TextureRect" parent="IntermissionScreen" unique_id=226567850] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -76,66 +114,79 @@ grow_vertical = 2 texture = ExtResource("3_c1u11") expand_mode = 1 -[node name="PanelContainer" type="PanelContainer" parent="UI" unique_id=171117788] +[node name="PanelContainer" type="PanelContainer" parent="IntermissionScreen" unique_id=171117788] layout_mode = 0 offset_left = 168.99997 offset_top = 57.0 offset_right = 836.2428 -offset_bottom = 205.0 +offset_bottom = 175.0 rotation = 0.09742515 theme_override_styles/panel = ExtResource("4_pkge6") -[node name="RichTextLabel" type="RichTextLabel" parent="UI/PanelContainer" unique_id=129594155] +[node name="RichTextLabel" type="RichTextLabel" parent="IntermissionScreen/PanelContainer" unique_id=129594155] layout_mode = 2 theme_override_colors/default_color = Color(0, 0, 0, 1) -theme_override_font_sizes/normal_font_size = 64 +theme_override_font_sizes/normal_font_size = 42 text = "Score: 123456" fit_content = true scroll_active = false +script = SubResource("GDScript_jlscs") -[node name="PanelContainer2" type="PanelContainer" parent="UI" unique_id=979281030] +[node name="PanelContainer2" type="PanelContainer" parent="IntermissionScreen" unique_id=979281030] layout_mode = 0 -offset_left = 118.0 -offset_top = 343.99997 -offset_right = 803.8578 -offset_bottom = 491.99997 +offset_left = 140.0 +offset_top = 297.0 +offset_right = 825.8578 +offset_bottom = 415.0 rotation = -0.025691543 theme_override_styles/panel = ExtResource("4_pkge6") -[node name="RichTextLabel" type="RichTextLabel" parent="UI/PanelContainer2" unique_id=1687861345] +[node name="RichTextLabel" type="RichTextLabel" parent="IntermissionScreen/PanelContainer2" unique_id=1687861345] layout_mode = 2 theme_override_colors/default_color = Color(0, 0, 0, 1) -theme_override_font_sizes/normal_font_size = 64 +theme_override_font_sizes/normal_font_size = 42 text = "Destruction: 200%" fit_content = true scroll_active = false +script = SubResource("GDScript_83m3j") -[node name="PanelContainer3" type="PanelContainer" parent="UI" unique_id=402491634] +[node name="Panel" type="Panel" parent="IntermissionScreen" unique_id=1703835801] layout_mode = 0 -offset_left = 99.00001 -offset_top = 543.0 -offset_right = 739.14355 -offset_bottom = 691.0 +offset_left = 264.27393 +offset_top = 554.0 +offset_right = 559.411 +offset_bottom = 851.73035 +rotation = 0.17307885 +theme_override_styles/panel = ExtResource("4_pkge6") + +[node name="PanelContainer3" type="PanelContainer" parent="IntermissionScreen" unique_id=402491634] +layout_mode = 0 +offset_left = 179.00002 +offset_top = 478.0 +offset_right = 520.1164 +offset_bottom = 596.0 rotation = 0.13659918 theme_override_styles/panel = ExtResource("4_pkge6") -[node name="RichTextLabel" type="RichTextLabel" parent="UI/PanelContainer3" unique_id=1708404379] +[node name="RichTextLabel" type="RichTextLabel" parent="IntermissionScreen/PanelContainer3" unique_id=1708404379] layout_mode = 2 theme_override_colors/default_color = Color(0, 0, 0, 1) -theme_override_font_sizes/normal_font_size = 64 +theme_override_font_sizes/normal_font_size = 42 text = "Style:" fit_content = true scroll_active = false -[node name="TextureRect2" type="TextureRect" parent="UI" unique_id=668257733] +[node name="TextureRect2" type="TextureRect" parent="IntermissionScreen" unique_id=668257733] layout_mode = 1 -offset_left = 339.00003 -offset_top = 535.0 -offset_right = 746.6963 -offset_bottom = 901.0 -rotation = -0.035710998 +offset_left = 238.0 +offset_top = 607.00006 +offset_right = 509.90198 +offset_bottom = 851.0938 +rotation = 0.034808658 size_flags_horizontal = 8 texture = ExtResource("5_tx4gm") expand_mode = 1 +script = SubResource("GDScript_7q532") +textures = Array[Texture2D]([null, ExtResource("7_jlscs"), ExtResource("8_83m3j"), ExtResource("9_j4c8f"), ExtResource("5_tx4gm"), ExtResource("7_fokjh")]) [editable path="character"] diff --git a/project/scenes/main_menu.tscn b/project/scenes/main_menu.tscn index 95dd947b..a06026b4 100644 --- a/project/scenes/main_menu.tscn +++ b/project/scenes/main_menu.tscn @@ -88,7 +88,7 @@ transform = Transform3D(0.7274735, -0.09339222, -0.6797502, 4.4703484e-08, 0.990 keep_aspect = 0 fov = 58.302567 -[node name="character" parent="." unique_id=1121355691 instance=ExtResource("2_ekxnf")] +[node name="character" parent="." unique_id=1031558579 instance=ExtResource("2_ekxnf")] transform = Transform3D(0.99800366, 0, -0.06315637, 0, 1, 0, 0.06315637, 0, 0.99800366, -3.1153452, 0.2585796, 0.84043175) script = SubResource("GDScript_ekxnf") diff --git a/project/scenes/test_level.tscn b/project/scenes/test_level.tscn index 68a9baea..b83fa856 100644 --- a/project/scenes/test_level.tscn +++ b/project/scenes/test_level.tscn @@ -177,15 +177,10 @@ use_collision = true collision_layer = 5 collision_mask = 5 -[node name="CSGBox3D3" type="CSGBox3D" parent="Environment/CSGCombiner3D" unique_id=1106412156] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.00604, 1.78183, 1.52303) -flip_faces = true -size = Vector3(13.0256, 3.9247, 12.0219) - [node name="CSGBox3D7" type="CSGBox3D" parent="Environment/CSGCombiner3D" unique_id=1810177399] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.08339, 1.78183, -15.576) +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.0833905, 1.78183, -6.984256) flip_faces = true -size = Vector3(13.0256, 3.9247, 12.0219) +size = Vector3(30.20909, 3.9247, 12.0219) [node name="CSGBox3D5" type="CSGBox3D" parent="Environment/CSGCombiner3D" unique_id=709562439] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 6.6595173, 1.78183, -7.0210905) @@ -202,21 +197,6 @@ transform = Transform3D(-1, 0, -8.742279e-08, 0, 1, 0, 8.742279e-08, 0, -1, 16.3 flip_faces = true size = Vector3(15.387126, 3.9247, 14.189308) -[node name="CSGBox3D8" type="CSGBox3D" parent="Environment/CSGCombiner3D" unique_id=2012956993] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.01214, 2.55284, -7.03223) -flip_faces = true -size = Vector3(4.24414, 2.17948, 11.6148) - -[node name="CSGBox3D9" type="CSGBox3D" parent="Environment/CSGCombiner3D" unique_id=1950176907] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.096, 1.19392, -5.06365) -flip_faces = true -size = Vector3(1.5, 2.749, 3.1123047) - -[node name="CSGBox3D13" type="CSGBox3D" parent="Environment/CSGCombiner3D" unique_id=1674531504] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4.733099, 1.19392, -9.101494) -flip_faces = true -size = Vector3(1.5, 2.749, 3.1123047) - [node name="CSGBox3D12" type="CSGBox3D" parent="Environment/CSGCombiner3D" unique_id=1443450172] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.4652538, 1.8695965, -3.1749) operation = 1