Changes to make it work with godot 4.4.
parent
285781d312
commit
1fb0c69d6c
@ -0,0 +1,3 @@
|
||||
{
|
||||
"godotTools.editorPath.godot4": "c:\\Users\\jason\\Downloads\\Godot_v4.4.1-stable_mono_win64\\Godot_v4.4.1-stable_mono_win64\\Godot_v4.4.1-stable_mono_win64.exe"
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
uid://d1rme8o0ewiet
|
||||
Binary file not shown.
@ -0,0 +1 @@
|
||||
uid://c7qrkyfuarnfa
|
||||
@ -0,0 +1,365 @@
|
||||
[gd_scene load_steps=33 format=3 uid="uid://vgwrcfy1qawf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://snp3i7itqnqc" path="res://scripts/builder.gd" id="1_jybm7"]
|
||||
[ext_resource type="Environment" uid="uid://jbptgqvstei3" path="res://scenes/main-environment.tres" id="1_yndf3"]
|
||||
[ext_resource type="Script" uid="uid://cw0jlq5d8r66g" path="res://scripts/structure.gd" id="2_54v6r"]
|
||||
[ext_resource type="Resource" uid="uid://dv14kkhb6umkv" path="res://structures/road-straight.tres" id="2_bwyku"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbk07cxgshg26" path="res://sprites/selector.png" id="4_wr1wv"]
|
||||
[ext_resource type="Resource" uid="uid://cntgl86ianngh" path="res://structures/building-small-a.tres" id="5_v5o2m"]
|
||||
[ext_resource type="Resource" uid="uid://ccb475jeg7ym5" path="res://structures/grass-trees.tres" id="6_fwsy4"]
|
||||
[ext_resource type="Script" uid="uid://cu76h00erned0" path="res://scripts/view.gd" id="8_yovpv"]
|
||||
[ext_resource type="Script" uid="uid://bnpqjt5n1s20m" path="res://scripts/mission/mission_manager.gd" id="10_oe3re"]
|
||||
[ext_resource type="PackedScene" uid="uid://dmsy06s02tcw4" path="res://scenes/generic_text_panel.tscn" id="13_7i6dj"]
|
||||
[ext_resource type="Script" uid="uid://bxuxhmlcqp64g" path="res://scripts/mission/mission_ui.gd" id="13_xvw5w"]
|
||||
[ext_resource type="Script" uid="uid://d1rme8o0ewiet" path="res://resources/generic_text_panel.resource.gd" id="14_76jlq"]
|
||||
[ext_resource type="Script" uid="uid://52tdmmosdbpa" path="res://scripts/mission/learning_panel.gd" id="14_q2ymb"]
|
||||
[ext_resource type="Script" uid="uid://c6f12a8vs3hp6" path="res://scripts/mission/mission_data.gd" id="14_vcrh8"]
|
||||
[ext_resource type="Resource" uid="uid://x5h4xutbldq3" path="res://mission/first_mission.tres" id="15_obmwc"]
|
||||
[ext_resource type="Resource" uid="uid://cjr36hqnmyn0x" path="res://mission/second_mission.tres" id="16_rl54y"]
|
||||
[ext_resource type="Resource" uid="uid://dykbopx8n3c3v" path="res://mission/third_mission.tres" id="17_rrdy6"]
|
||||
[ext_resource type="FontFile" uid="uid://d0cxd77jybrcn" path="res://fonts/lilita_one_regular.ttf" id="17_vlub6"]
|
||||
[ext_resource type="PackedScene" uid="uid://b4gkfwf4i3ydl" path="res://scenes/character.tscn" id="18_8lrh8"]
|
||||
[ext_resource type="Resource" uid="uid://bho4qh41asyk1" path="res://mission/fourth_mission.tres" id="18_h4fpv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cgk66f6rg03mj" path="res://scenes/hud.tscn" id="18_hud"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqjnp7uypupog" path="res://scenes/controls_panel.tscn" id="19_controls"]
|
||||
[ext_resource type="Resource" uid="uid://p3xwn2mp6bm6" path="res://mission/fifth_mission.tres" id="19_e8sub"]
|
||||
[ext_resource type="Script" uid="uid://dlqco4kmwr3er" path="res://scripts/game_manager.gd" id="20_game_manager"]
|
||||
[ext_resource type="Resource" uid="uid://bv4r7ebpjdce4" path="res://mission/sixth_mission.tres" id="20_r0ysx"]
|
||||
[ext_resource type="PackedScene" uid="uid://b4s46k58ddpyc" path="res://scenes/sound_panel.tscn" id="21_sound_panel"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_1gdbm"]
|
||||
script = ExtResource("14_76jlq")
|
||||
panel_type = 0
|
||||
title = "Welcome to Stem City "
|
||||
body_text = "Hi League Community,
|
||||
|
||||
Your goal is to build a thriving community from the ground up. As you complete missions, you'll unlock new structures to expand and improve your city.
|
||||
|
||||
Each mission introduces important Math concepts used in urban planning and city management. You'll apply mathematics while watching your city grow.
|
||||
|
||||
You are the very first group of students who get to test this. So keep in mind there will be bugs, but do note them.
|
||||
|
||||
We are aware of the following bugs:
|
||||
- Population count may be off by 1
|
||||
- Lighting Baking in Web Builds are too bright
|
||||
- We don't restrict building off of roads which will cause workers not to reach buildings
|
||||
- Building overlap
|
||||
- No builders for Power Plant
|
||||
|
||||
|
||||
Ready to start planning your city? Click Close to see the controls and begin your first mission!
|
||||
|
||||
|
||||
"
|
||||
button_text = "Close"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ja86h"]
|
||||
script = ExtResource("14_76jlq")
|
||||
panel_type = 1
|
||||
title = "Welcome to Stem City"
|
||||
body_text = "Congratulations, City Planner!
|
||||
|
||||
You've completed all the guided missions and unlocked the full potential of Stem City. Your understanding of urban planning and STEM concepts has helped create a thriving community.
|
||||
|
||||
But the journey doesn't end here! Continue expanding your city using all the structures you've unlocked. Experiment with different layouts, create new neighborhoods, and see how large you can grow your population.
|
||||
|
||||
The future of Stem City is now in your hands - keep building and exploring!
|
||||
"
|
||||
button_text = "Close"
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mission"]
|
||||
bg_color = Color(0.145098, 0.172549, 0.231373, 0.941176)
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color(0.356863, 0.670588, 0.768627, 1)
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
shadow_size = 5
|
||||
shadow_offset = Vector2(2, 2)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lsmd5"]
|
||||
bg_color = Color(0.196078, 0.196078, 0.196078, 0.960784)
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color(0.294118, 0.478431, 0.729412, 1)
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
shadow_size = 5
|
||||
shadow_offset = Vector2(3, 3)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_description"]
|
||||
bg_color = Color(0.145098, 0.145098, 0.164706, 0.768627)
|
||||
border_width_left = 1
|
||||
border_width_top = 1
|
||||
border_width_right = 1
|
||||
border_width_bottom = 1
|
||||
border_color = Color(0.294118, 0.478431, 0.729412, 0.301961)
|
||||
corner_radius_top_left = 4
|
||||
corner_radius_top_right = 4
|
||||
corner_radius_bottom_right = 4
|
||||
corner_radius_bottom_left = 4
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_graph"]
|
||||
bg_color = Color(0.117647, 0.137255, 0.160784, 0.768627)
|
||||
border_width_left = 1
|
||||
border_width_top = 1
|
||||
border_width_right = 1
|
||||
border_width_bottom = 1
|
||||
border_color = Color(0.294118, 0.478431, 0.729412, 0.301961)
|
||||
corner_radius_top_left = 4
|
||||
corner_radius_top_right = 4
|
||||
corner_radius_bottom_right = 4
|
||||
corner_radius_bottom_left = 4
|
||||
|
||||
[node name="Main" type="Node3D"]
|
||||
script = ExtResource("20_game_manager")
|
||||
intro_text_resource = SubResource("Resource_1gdbm")
|
||||
outro_text_resource = SubResource("Resource_ja86h")
|
||||
|
||||
[node name="Builder" type="Node3D" parent="." node_paths=PackedStringArray("selector", "selector_container", "view_camera", "gridmap", "cash_display")]
|
||||
script = ExtResource("1_jybm7")
|
||||
structures = Array[ExtResource("2_54v6r")]([ExtResource("2_bwyku"), ExtResource("5_v5o2m"), ExtResource("6_fwsy4")])
|
||||
selector = NodePath("Selector")
|
||||
selector_container = NodePath("Selector/Container")
|
||||
view_camera = NodePath("../View/Camera")
|
||||
gridmap = NodePath("../GridMap")
|
||||
cash_display = NodePath("../CanvasLayer/HUD/HBoxContainer/CashItem/CashLabel")
|
||||
|
||||
[node name="Selector" type="Node3D" parent="Builder"]
|
||||
|
||||
[node name="Sprite" type="Sprite3D" parent="Builder/Selector"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.06, 0)
|
||||
texture = ExtResource("4_wr1wv")
|
||||
|
||||
[node name="Container" type="Node3D" parent="Builder/Selector"]
|
||||
|
||||
[node name="View" type="Node3D" parent="."]
|
||||
transform = Transform3D(0.707107, -0.40558, 0.579228, 0, 0.819152, 0.573576, -0.707107, -0.40558, 0.579228, 0, 0, 0)
|
||||
script = ExtResource("8_yovpv")
|
||||
|
||||
[node name="Camera" type="Camera3D" parent="View"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 7.15256e-07, 0, 0, 1, 0, 27.98, 49.5918)
|
||||
environment = ExtResource("1_yndf3")
|
||||
fov = 20.0
|
||||
|
||||
[node name="GridMap" type="GridMap" parent="."]
|
||||
cell_size = Vector3(1, 1, 1)
|
||||
cell_center_x = false
|
||||
cell_center_y = false
|
||||
cell_center_z = false
|
||||
|
||||
[node name="Sun" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(-0.422618, -0.694272, 0.582563, 0, 0.642788, 0.766044, -0.906308, 0.323744, -0.271654, 0, 0, 0)
|
||||
shadow_enabled = true
|
||||
shadow_opacity = 0.75
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="HUD" parent="CanvasLayer" instance=ExtResource("18_hud")]
|
||||
|
||||
[node name="ControlsPanel" parent="CanvasLayer" instance=ExtResource("19_controls")]
|
||||
|
||||
[node name="SoundPanel" parent="CanvasLayer" instance=ExtResource("21_sound_panel")]
|
||||
anchors_preset = 8
|
||||
|
||||
[node name="GenericTextPanel" parent="CanvasLayer" instance=ExtResource("13_7i6dj")]
|
||||
resource_data = ExtResource("14_76jlq")
|
||||
|
||||
[node name="MissionManager" type="Node" parent="." node_paths=PackedStringArray("mission_ui", "builder")]
|
||||
script = ExtResource("10_oe3re")
|
||||
missions = Array[ExtResource("14_vcrh8")]([ExtResource("15_obmwc"), ExtResource("16_rl54y"), ExtResource("17_rrdy6"), ExtResource("18_h4fpv"), ExtResource("19_e8sub"), ExtResource("20_r0ysx")])
|
||||
mission_ui = NodePath("MissionPanel")
|
||||
builder = NodePath("../Builder")
|
||||
character_scene = ExtResource("18_8lrh8")
|
||||
|
||||
[node name="MissionPanel" type="PanelContainer" parent="MissionManager" node_paths=PackedStringArray("mission_title_label", "mission_description_label", "objectives_container")]
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -450.0
|
||||
offset_top = 20.0
|
||||
offset_right = -20.0
|
||||
grow_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_mission")
|
||||
script = ExtResource("13_xvw5w")
|
||||
mission_title_label = NodePath("MarginContainer/VBoxContainer/MissionTitleLabel")
|
||||
mission_description_label = NodePath("MarginContainer/VBoxContainer/MissionDescriptionLabel")
|
||||
objectives_container = NodePath("MarginContainer/VBoxContainer/ObjectivesContainer")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MissionManager/MissionPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 20
|
||||
theme_override_constants/margin_top = 20
|
||||
theme_override_constants/margin_right = 20
|
||||
theme_override_constants/margin_bottom = 20
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MissionManager/MissionPanel/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 15
|
||||
|
||||
[node name="MissionTitleLabel" type="Label" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_fonts/font = ExtResource("17_vlub6")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Mission Title"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MissionDescriptionLabel" type="Label" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
theme_override_font_sizes/font_size = 16
|
||||
text = "Mission description goes here..."
|
||||
autowrap_mode = 2
|
||||
text_overrun_behavior = 4
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ObjectivesLabel" type="Label" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.678431, 0.847059, 1, 1)
|
||||
theme_override_font_sizes/font_size = 18
|
||||
text = "Objectives:"
|
||||
|
||||
[node name="ObjectivesContainer" type="VBoxContainer" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="LearningPanel" type="PanelContainer" parent="MissionManager"]
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 50.0
|
||||
offset_top = 50.0
|
||||
offset_right = -50.0
|
||||
offset_bottom = -50.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_lsmd5")
|
||||
script = ExtResource("14_q2ymb")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MissionManager/LearningPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 30
|
||||
theme_override_constants/margin_top = 30
|
||||
theme_override_constants/margin_right = 30
|
||||
theme_override_constants/margin_bottom = 30
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MissionManager/LearningPanel/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 20
|
||||
|
||||
[node name="TitleLabel" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_fonts/font = ExtResource("17_vlub6")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "Learning Module"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="DescriptionPanel" type="PanelContainer" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
size_flags_stretch_ratio = 0.5
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_description")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/DescriptionPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 15
|
||||
theme_override_constants/margin_top = 15
|
||||
theme_override_constants/margin_right = 15
|
||||
theme_override_constants/margin_bottom = 15
|
||||
|
||||
[node name="DescriptionLabel" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/DescriptionPanel/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_font_sizes/font_size = 20
|
||||
text = "Description goes here..."
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="GraphTitle" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Graph:"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="GraphContainer" type="Panel" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 300)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
size_flags_stretch_ratio = 2.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_graph")
|
||||
|
||||
[node name="AnswerContainer" type="VBoxContainer" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="QuestionLabel" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/AnswerContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 18
|
||||
text = "How many workers do we need to build 10 houses in a week?"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AnswerField" type="LineEdit" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/AnswerContainer"]
|
||||
custom_minimum_size = Vector2(150, 40)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme_override_font_sizes/font_size = 18
|
||||
placeholder_text = "Enter answer"
|
||||
alignment = 1
|
||||
max_length = 5
|
||||
|
||||
[node name="CheckButton" type="Button" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/AnswerContainer"]
|
||||
custom_minimum_size = Vector2(150, 40)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme_override_font_sizes/font_size = 16
|
||||
text = "Check Answer"
|
||||
|
||||
[node name="FeedbackLabel" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/AnswerContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_font_sizes/font_size = 18
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
text_overrun_behavior = 3
|
||||
max_lines_visible = 6
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="CompleteButton" type="Button" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(200, 50)
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 18
|
||||
disabled = true
|
||||
text = "Complete"
|
||||
|
||||
[node name="ObjectiveLabel" type="Label" parent="MissionManager"]
|
||||
offset_right = 40.0
|
||||
offset_bottom = 23.0
|
||||
|
||||
[connection signal="all_missions_completed" from="MissionManager" to="." method="_on_mission_manager_all_missions_completed"]
|
||||
[connection signal="pressed" from="MissionManager/LearningPanel/MarginContainer/VBoxContainer/HBoxContainer/CompleteButton" to="MissionManager/LearningPanel" method="_on_complete_button_pressed"]
|
||||
@ -0,0 +1,365 @@
|
||||
[gd_scene load_steps=33 format=3 uid="uid://vgwrcfy1qawf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://snp3i7itqnqc" path="res://scripts/builder.gd" id="1_jybm7"]
|
||||
[ext_resource type="Environment" uid="uid://jbptgqvstei3" path="res://scenes/main-environment.tres" id="1_yndf3"]
|
||||
[ext_resource type="Script" uid="uid://cw0jlq5d8r66g" path="res://scripts/structure.gd" id="2_54v6r"]
|
||||
[ext_resource type="Resource" uid="uid://dv14kkhb6umkv" path="res://structures/road-straight.tres" id="2_bwyku"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbk07cxgshg26" path="res://sprites/selector.png" id="4_wr1wv"]
|
||||
[ext_resource type="Resource" uid="uid://cntgl86ianngh" path="res://structures/building-small-a.tres" id="5_v5o2m"]
|
||||
[ext_resource type="Resource" uid="uid://ccb475jeg7ym5" path="res://structures/grass-trees.tres" id="6_fwsy4"]
|
||||
[ext_resource type="Script" uid="uid://cu76h00erned0" path="res://scripts/view.gd" id="8_yovpv"]
|
||||
[ext_resource type="Script" uid="uid://bnpqjt5n1s20m" path="res://scripts/mission/mission_manager.gd" id="10_oe3re"]
|
||||
[ext_resource type="PackedScene" uid="uid://dmsy06s02tcw4" path="res://scenes/generic_text_panel.tscn" id="13_7i6dj"]
|
||||
[ext_resource type="Script" uid="uid://bxuxhmlcqp64g" path="res://scripts/mission/mission_ui.gd" id="13_xvw5w"]
|
||||
[ext_resource type="Script" uid="uid://d1rme8o0ewiet" path="res://resources/generic_text_panel.resource.gd" id="14_76jlq"]
|
||||
[ext_resource type="Script" uid="uid://52tdmmosdbpa" path="res://scripts/mission/learning_panel.gd" id="14_q2ymb"]
|
||||
[ext_resource type="Script" uid="uid://c6f12a8vs3hp6" path="res://scripts/mission/mission_data.gd" id="14_vcrh8"]
|
||||
[ext_resource type="Resource" uid="uid://x5h4xutbldq3" path="res://mission/first_mission.tres" id="15_obmwc"]
|
||||
[ext_resource type="Resource" uid="uid://cjr36hqnmyn0x" path="res://mission/second_mission.tres" id="16_rl54y"]
|
||||
[ext_resource type="Resource" uid="uid://dykbopx8n3c3v" path="res://mission/third_mission.tres" id="17_rrdy6"]
|
||||
[ext_resource type="FontFile" uid="uid://d0cxd77jybrcn" path="res://fonts/lilita_one_regular.ttf" id="17_vlub6"]
|
||||
[ext_resource type="PackedScene" uid="uid://b4gkfwf4i3ydl" path="res://scenes/character.tscn" id="18_8lrh8"]
|
||||
[ext_resource type="Resource" uid="uid://bho4qh41asyk1" path="res://mission/fourth_mission.tres" id="18_h4fpv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cgk66f6rg03mj" path="res://scenes/hud.tscn" id="18_hud"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqjnp7uypupog" path="res://scenes/controls_panel.tscn" id="19_controls"]
|
||||
[ext_resource type="Resource" uid="uid://p3xwn2mp6bm6" path="res://mission/fifth_mission.tres" id="19_e8sub"]
|
||||
[ext_resource type="Script" uid="uid://dlqco4kmwr3er" path="res://scripts/game_manager.gd" id="20_game_manager"]
|
||||
[ext_resource type="Resource" uid="uid://bv4r7ebpjdce4" path="res://mission/sixth_mission.tres" id="20_r0ysx"]
|
||||
[ext_resource type="PackedScene" uid="uid://b4s46k58ddpyc" path="res://scenes/sound_panel.tscn" id="21_sound_panel"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_1gdbm"]
|
||||
script = ExtResource("14_76jlq")
|
||||
panel_type = 0
|
||||
title = "Welcome to Stem City "
|
||||
body_text = "Hi League Community,
|
||||
|
||||
Your goal is to build a thriving community from the ground up. As you complete missions, you'll unlock new structures to expand and improve your city.
|
||||
|
||||
Each mission introduces important Math concepts used in urban planning and city management. You'll apply mathematics while watching your city grow.
|
||||
|
||||
You are the very first group of students who get to test this. So keep in mind there will be bugs, but do note them.
|
||||
|
||||
We are aware of the following bugs:
|
||||
- Population count may be off by 1
|
||||
- Lighting Baking in Web Builds are too bright
|
||||
- We don't restrict building off of roads which will cause workers not to reach buildings
|
||||
- Building overlap
|
||||
- No builders for Power Plant
|
||||
|
||||
|
||||
Ready to start planning your city? Click Close to see the controls and begin your first mission!
|
||||
|
||||
|
||||
"
|
||||
button_text = "Close"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ja86h"]
|
||||
script = ExtResource("14_76jlq")
|
||||
panel_type = 1
|
||||
title = "Welcome to Stem City"
|
||||
body_text = "Congratulations, City Planner!
|
||||
|
||||
You've completed all the guided missions and unlocked the full potential of Stem City. Your understanding of urban planning and STEM concepts has helped create a thriving community.
|
||||
|
||||
But the journey doesn't end here! Continue expanding your city using all the structures you've unlocked. Experiment with different layouts, create new neighborhoods, and see how large you can grow your population.
|
||||
|
||||
The future of Stem City is now in your hands - keep building and exploring!
|
||||
"
|
||||
button_text = "Close"
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mission"]
|
||||
bg_color = Color(0.145098, 0.172549, 0.231373, 0.941176)
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color(0.356863, 0.670588, 0.768627, 1)
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
shadow_size = 5
|
||||
shadow_offset = Vector2(2, 2)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lsmd5"]
|
||||
bg_color = Color(0.196078, 0.196078, 0.196078, 0.960784)
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color(0.294118, 0.478431, 0.729412, 1)
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
shadow_size = 5
|
||||
shadow_offset = Vector2(3, 3)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_description"]
|
||||
bg_color = Color(0.145098, 0.145098, 0.164706, 0.768627)
|
||||
border_width_left = 1
|
||||
border_width_top = 1
|
||||
border_width_right = 1
|
||||
border_width_bottom = 1
|
||||
border_color = Color(0.294118, 0.478431, 0.729412, 0.301961)
|
||||
corner_radius_top_left = 4
|
||||
corner_radius_top_right = 4
|
||||
corner_radius_bottom_right = 4
|
||||
corner_radius_bottom_left = 4
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_graph"]
|
||||
bg_color = Color(0.117647, 0.137255, 0.160784, 0.768627)
|
||||
border_width_left = 1
|
||||
border_width_top = 1
|
||||
border_width_right = 1
|
||||
border_width_bottom = 1
|
||||
border_color = Color(0.294118, 0.478431, 0.729412, 0.301961)
|
||||
corner_radius_top_left = 4
|
||||
corner_radius_top_right = 4
|
||||
corner_radius_bottom_right = 4
|
||||
corner_radius_bottom_left = 4
|
||||
|
||||
[node name="Main" type="Node3D"]
|
||||
script = ExtResource("20_game_manager")
|
||||
intro_text_resource = SubResource("Resource_1gdbm")
|
||||
outro_text_resource = SubResource("Resource_ja86h")
|
||||
|
||||
[node name="Builder" type="Node3D" parent="." node_paths=PackedStringArray("selector", "selector_container", "view_camera", "gridmap", "cash_display")]
|
||||
script = ExtResource("1_jybm7")
|
||||
structures = Array[ExtResource("2_54v6r")]([ExtResource("2_bwyku"), ExtResource("5_v5o2m"), ExtResource("6_fwsy4")])
|
||||
selector = NodePath("Selector")
|
||||
selector_container = NodePath("Selector/Container")
|
||||
view_camera = NodePath("../View/Camera")
|
||||
gridmap = NodePath("../GridMap")
|
||||
cash_display = NodePath("../CanvasLayer/HUD/HBoxContainer/CashItem/CashLabel")
|
||||
|
||||
[node name="Selector" type="Node3D" parent="Builder"]
|
||||
|
||||
[node name="Sprite" type="Sprite3D" parent="Builder/Selector"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.06, 0)
|
||||
texture = ExtResource("4_wr1wv")
|
||||
|
||||
[node name="Container" type="Node3D" parent="Builder/Selector"]
|
||||
|
||||
[node name="View" type="Node3D" parent="."]
|
||||
transform = Transform3D(0.707107, -0.40558, 0.579228, 0, 0.819152, 0.573576, -0.707107, -0.40558, 0.579228, 0, 0, 0)
|
||||
script = ExtResource("8_yovpv")
|
||||
|
||||
[node name="Camera" type="Camera3D" parent="View"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 7.15256e-07, 0, 0, 1, 0, 27.98, 49.5918)
|
||||
environment = ExtResource("1_yndf3")
|
||||
fov = 20.0
|
||||
|
||||
[node name="GridMap" type="GridMap" parent="."]
|
||||
cell_size = Vector3(1, 1, 1)
|
||||
cell_center_x = false
|
||||
cell_center_y = false
|
||||
cell_center_z = false
|
||||
|
||||
[node name="Sun" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(-0.422618, -0.694272, 0.582563, 0, 0.642788, 0.766044, -0.906308, 0.323744, -0.271654, 0, 0, 0)
|
||||
shadow_enabled = true
|
||||
shadow_opacity = 0.75
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="HUD" parent="CanvasLayer" instance=ExtResource("18_hud")]
|
||||
|
||||
[node name="ControlsPanel" parent="CanvasLayer" instance=ExtResource("19_controls")]
|
||||
|
||||
[node name="SoundPanel" parent="CanvasLayer" instance=ExtResource("21_sound_panel")]
|
||||
anchors_preset = 8
|
||||
|
||||
[node name="GenericTextPanel" parent="CanvasLayer" instance=ExtResource("13_7i6dj")]
|
||||
resource_data = ExtResource("14_76jlq")
|
||||
|
||||
[node name="MissionManager" type="Node" parent="." node_paths=PackedStringArray("mission_ui", "builder")]
|
||||
script = ExtResource("10_oe3re")
|
||||
missions = Array[ExtResource("14_vcrh8")]([ExtResource("15_obmwc"), ExtResource("16_rl54y"), ExtResource("17_rrdy6"), ExtResource("18_h4fpv"), ExtResource("19_e8sub"), ExtResource("20_r0ysx")])
|
||||
mission_ui = NodePath("MissionPanel")
|
||||
builder = NodePath("../Builder")
|
||||
character_scene = ExtResource("18_8lrh8")
|
||||
|
||||
[node name="MissionPanel" type="PanelContainer" parent="MissionManager" node_paths=PackedStringArray("mission_title_label", "mission_description_label", "objectives_container")]
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -450.0
|
||||
offset_top = 20.0
|
||||
offset_right = -20.0
|
||||
grow_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_mission")
|
||||
script = ExtResource("13_xvw5w")
|
||||
mission_title_label = NodePath("MarginContainer/VBoxContainer/MissionTitleLabel")
|
||||
mission_description_label = NodePath("MarginContainer/VBoxContainer/MissionDescriptionLabel")
|
||||
objectives_container = NodePath("MarginContainer/VBoxContainer/ObjectivesContainer")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MissionManager/MissionPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 20
|
||||
theme_override_constants/margin_top = 20
|
||||
theme_override_constants/margin_right = 20
|
||||
theme_override_constants/margin_bottom = 20
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MissionManager/MissionPanel/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 15
|
||||
|
||||
[node name="MissionTitleLabel" type="Label" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_fonts/font = ExtResource("17_vlub6")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Mission Title"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MissionDescriptionLabel" type="Label" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
theme_override_font_sizes/font_size = 16
|
||||
text = "Mission description goes here..."
|
||||
autowrap_mode = 2
|
||||
text_overrun_behavior = 4
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ObjectivesLabel" type="Label" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.678431, 0.847059, 1, 1)
|
||||
theme_override_font_sizes/font_size = 18
|
||||
text = "Objectives:"
|
||||
|
||||
[node name="ObjectivesContainer" type="VBoxContainer" parent="MissionManager/MissionPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="LearningPanel" type="PanelContainer" parent="MissionManager"]
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 50.0
|
||||
offset_top = 50.0
|
||||
offset_right = -50.0
|
||||
offset_bottom = -50.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_lsmd5")
|
||||
script = ExtResource("14_q2ymb")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MissionManager/LearningPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 30
|
||||
theme_override_constants/margin_top = 30
|
||||
theme_override_constants/margin_right = 30
|
||||
theme_override_constants/margin_bottom = 30
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MissionManager/LearningPanel/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 20
|
||||
|
||||
[node name="TitleLabel" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_fonts/font = ExtResource("17_vlub6")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "Learning Module"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="DescriptionPanel" type="PanelContainer" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
size_flags_stretch_ratio = 0.5
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_description")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/DescriptionPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 15
|
||||
theme_override_constants/margin_top = 15
|
||||
theme_override_constants/margin_right = 15
|
||||
theme_override_constants/margin_bottom = 15
|
||||
|
||||
[node name="DescriptionLabel" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/DescriptionPanel/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_font_sizes/font_size = 20
|
||||
text = "Description goes here..."
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="GraphTitle" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Graph:"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="GraphContainer" type="Panel" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 300)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
size_flags_stretch_ratio = 2.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_graph")
|
||||
|
||||
[node name="AnswerContainer" type="VBoxContainer" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="QuestionLabel" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/AnswerContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 18
|
||||
text = "How many workers do we need to build 10 houses in a week?"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AnswerField" type="LineEdit" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/AnswerContainer"]
|
||||
custom_minimum_size = Vector2(150, 40)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme_override_font_sizes/font_size = 18
|
||||
placeholder_text = "Enter answer"
|
||||
alignment = 1
|
||||
max_length = 5
|
||||
|
||||
[node name="CheckButton" type="Button" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/AnswerContainer"]
|
||||
custom_minimum_size = Vector2(150, 40)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme_override_font_sizes/font_size = 16
|
||||
text = "Check Answer"
|
||||
|
||||
[node name="FeedbackLabel" type="Label" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/AnswerContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_font_sizes/font_size = 18
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
text_overrun_behavior = 3
|
||||
max_lines_visible = 6
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="CompleteButton" type="Button" parent="MissionManager/LearningPanel/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(200, 50)
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 18
|
||||
disabled = true
|
||||
text = "Complete"
|
||||
|
||||
[node name="ObjectiveLabel" type="Label" parent="MissionManager"]
|
||||
offset_right = 40.0
|
||||
offset_bottom = 23.0
|
||||
|
||||
[connection signal="all_missions_completed" from="MissionManager" to="." method="_on_mission_manager_all_missions_completed"]
|
||||
[connection signal="pressed" from="MissionManager/LearningPanel/MarginContainer/VBoxContainer/HBoxContainer/CompleteButton" to="MissionManager/LearningPanel" method="_on_complete_button_pressed"]
|
||||
@ -0,0 +1 @@
|
||||
uid://buvxhq2ipa8gt
|
||||
@ -0,0 +1 @@
|
||||
uid://b1014mouu2vqu
|
||||
@ -0,0 +1 @@
|
||||
uid://csqc100kx2nsm
|
||||
@ -0,0 +1 @@
|
||||
uid://snp3i7itqnqc
|
||||
@ -0,0 +1 @@
|
||||
uid://b2vlnidm83s8y
|
||||
@ -0,0 +1 @@
|
||||
uid://pwnd0fyfkjed
|
||||
@ -0,0 +1 @@
|
||||
uid://3r6pls585y3h
|
||||
@ -0,0 +1 @@
|
||||
uid://b50gqdyny3llp
|
||||
@ -0,0 +1 @@
|
||||
uid://dlqco4kmwr3er
|
||||
@ -0,0 +1 @@
|
||||
uid://caabw5op0u6tc
|
||||
@ -0,0 +1 @@
|
||||
uid://b40gjqb6qr1w7
|
||||
@ -0,0 +1 @@
|
||||
uid://bpbtgm8hnxt3g
|
||||
@ -0,0 +1 @@
|
||||
uid://dexknr7it5val
|
||||
@ -0,0 +1 @@
|
||||
uid://dfytqya2vsi81
|
||||
@ -0,0 +1 @@
|
||||
uid://dptrv1nv60fl2
|
||||
@ -0,0 +1 @@
|
||||
uid://d1wadrwuwmuuk
|
||||
@ -0,0 +1 @@
|
||||
uid://d4isuuaa51b7x
|
||||
@ -0,0 +1 @@
|
||||
uid://l2b10qh2u8n4
|
||||
@ -0,0 +1 @@
|
||||
uid://ynwv56k844ps
|
||||
@ -0,0 +1 @@
|
||||
uid://52tdmmosdbpa
|
||||
@ -0,0 +1 @@
|
||||
uid://dmelvshrg8l56
|
||||
@ -0,0 +1 @@
|
||||
uid://c6f12a8vs3hp6
|
||||
@ -0,0 +1 @@
|
||||
uid://bnpqjt5n1s20m
|
||||
@ -0,0 +1 @@
|
||||
uid://c7v1kbo5amrko
|
||||
@ -0,0 +1 @@
|
||||
uid://bxuxhmlcqp64g
|
||||
@ -0,0 +1 @@
|
||||
uid://lcb3ablmkaw8
|
||||
@ -0,0 +1 @@
|
||||
uid://uftqbpj0c2u8
|
||||
@ -0,0 +1 @@
|
||||
uid://urmot4hfnvtb
|
||||
@ -0,0 +1 @@
|
||||
uid://boe3mr1ujtk2s
|
||||
@ -0,0 +1 @@
|
||||
uid://dwbcncga3rbmv
|
||||
@ -0,0 +1 @@
|
||||
uid://wxdjmv1kdo1r
|
||||
@ -0,0 +1 @@
|
||||
uid://cw0jlq5d8r66g
|
||||
@ -0,0 +1 @@
|
||||
uid://cu76h00erned0
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue