Finished first EA Version #1
+52
-1
@@ -68,7 +68,7 @@ environment = SubResource("Environment_sb48q")
|
|||||||
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1558432386]
|
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1558432386]
|
||||||
follow_viewport_enabled = true
|
follow_viewport_enabled = true
|
||||||
|
|
||||||
[node name="UIHandler" type="Control" parent="CanvasLayer" unique_id=1713248285 node_paths=PackedStringArray("codingWindow", "robotList", "mainCam", "map", "FPS", "RAM", "options", "uiContent", "menu", "inventory", "researchList", "robotAlarm", "energyLabel", "waterLabel", "hungerLabel", "survivalStatus", "currentLayer", "deepestLayer", "unlockLayer")]
|
[node name="UIHandler" type="Control" parent="CanvasLayer" unique_id=1713248285 node_paths=PackedStringArray("codingWindow", "robotList", "mainCam", "map", "FPS", "RAM", "options", "uiContent", "menu", "inventory", "researchList", "robotAlarm", "energyLabel", "waterLabel", "hungerLabel", "survivalStatus", "currentLayer", "deepestLayer", "unlockLayer", "gameOver")]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@@ -99,6 +99,7 @@ survivalStatus = NodePath("MainUI/HeaderContainer/VBoxContainer/SurvivalStatus")
|
|||||||
currentLayer = NodePath("MainUI/HeaderContainer/VBoxContainer/CurrentLayer")
|
currentLayer = NodePath("MainUI/HeaderContainer/VBoxContainer/CurrentLayer")
|
||||||
deepestLayer = NodePath("MainUI/HeaderContainer/VBoxContainer/DeepestLayer")
|
deepestLayer = NodePath("MainUI/HeaderContainer/VBoxContainer/DeepestLayer")
|
||||||
unlockLayer = NodePath("MainUI/HeaderContainer/VBoxContainer/UnlockLayer")
|
unlockLayer = NodePath("MainUI/HeaderContainer/VBoxContainer/UnlockLayer")
|
||||||
|
gameOver = NodePath("MainUI/Content/GameOver")
|
||||||
|
|
||||||
[node name="MainUI" type="VBoxContainer" parent="CanvasLayer/UIHandler" unique_id=1437975209]
|
[node name="MainUI" type="VBoxContainer" parent="CanvasLayer/UIHandler" unique_id=1437975209]
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
@@ -476,6 +477,54 @@ researchGraph = NodePath("ResearchGraph")
|
|||||||
[node name="ResearchGraph" type="GraphEdit" parent="CanvasLayer/UIHandler/MainUI/Content/Research" unique_id=414756119]
|
[node name="ResearchGraph" type="GraphEdit" parent="CanvasLayer/UIHandler/MainUI/Content/Research" unique_id=414756119]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="GameOver" type="PanelContainer" parent="CanvasLayer/UIHandler/MainUI/Content" unique_id=1632783321]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/UIHandler/MainUI/Content/GameOver" unique_id=12941042]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/separation = 12
|
||||||
|
|
||||||
|
[node name="Title" type="RichTextLabel" parent="CanvasLayer/UIHandler/MainUI/Content/GameOver/VBoxContainer" unique_id=622403000]
|
||||||
|
layout_mode = 2
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "[font_size=64]Game Over[/font_size]"
|
||||||
|
fit_content = true
|
||||||
|
autowrap_mode = 0
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Content" type="RichTextLabel" parent="CanvasLayer/UIHandler/MainUI/Content/GameOver/VBoxContainer" unique_id=521357002]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "[font_size=32]You finished the game!
|
||||||
|
|
||||||
|
Thank you for playing."
|
||||||
|
fit_content = true
|
||||||
|
autowrap_mode = 0
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/UIHandler/MainUI/Content/GameOver/VBoxContainer" unique_id=1526010823]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/separation = 42
|
||||||
|
|
||||||
|
[node name="Negative" type="Button" parent="CanvasLayer/UIHandler/MainUI/Content/GameOver/VBoxContainer/HBoxContainer" unique_id=1328278845]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
text = "Main Menu"
|
||||||
|
|
||||||
|
[node name="Positive" type="Button" parent="CanvasLayer/UIHandler/MainUI/Content/GameOver/VBoxContainer/HBoxContainer" unique_id=912287210]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
text = "Continue"
|
||||||
|
|
||||||
[node name="FooterContainer" type="PanelContainer" parent="CanvasLayer/UIHandler/MainUI" unique_id=1495029884]
|
[node name="FooterContainer" type="PanelContainer" parent="CanvasLayer/UIHandler/MainUI" unique_id=1495029884]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
@@ -534,6 +583,8 @@ texture_normal = ExtResource("12_3so38")
|
|||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button" to="CanvasLayer/UIHandler" method="HandleMenu"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button" to="CanvasLayer/UIHandler" method="HandleMenu"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button2" to="CanvasLayer/UIHandler" method="ShowOptions"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button2" to="CanvasLayer/UIHandler" method="ShowOptions"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button3" to="CanvasLayer/UIHandler" method="ExitGame"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/Menu/VBoxContainer/Button3" to="CanvasLayer/UIHandler" method="ExitGame"]
|
||||||
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/GameOver/VBoxContainer/HBoxContainer/Negative" to="CanvasLayer/UIHandler" method="ExitGame"]
|
||||||
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/GameOver/VBoxContainer/HBoxContainer/Positive" to="CanvasLayer/UIHandler" method="HideGameOver"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Inventory" to="CanvasLayer/UIHandler" method="HandleInventoryButton"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Inventory" to="CanvasLayer/UIHandler" method="HandleInventoryButton"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Research" to="CanvasLayer/UIHandler" method="HandleResearchButton"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Research" to="CanvasLayer/UIHandler" method="HandleResearchButton"]
|
||||||
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Map" to="CanvasLayer/UIHandler" method="HandleMapButton"]
|
[connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/FooterContainer/HBoxContainer/Map" to="CanvasLayer/UIHandler" method="HandleMapButton"]
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ public partial class UIHandler : Control
|
|||||||
[Export] RichTextLabel currentLayer;
|
[Export] RichTextLabel currentLayer;
|
||||||
[Export] RichTextLabel deepestLayer;
|
[Export] RichTextLabel deepestLayer;
|
||||||
[Export] Button unlockLayer;
|
[Export] Button unlockLayer;
|
||||||
|
[Export] PanelContainer gameOver;
|
||||||
|
|
||||||
|
|
||||||
private bool receivedRobotJumpSignal = false;
|
private bool receivedRobotJumpSignal = false;
|
||||||
@@ -163,12 +164,20 @@ public partial class UIHandler : Control
|
|||||||
waterLabel.Text = $"Water: {GameData.survival.thirst:0}/{GameData.survival.maxThirst:0}";
|
waterLabel.Text = $"Water: {GameData.survival.thirst:0}/{GameData.survival.maxThirst:0}";
|
||||||
hungerLabel.Text = $"Food: {GameData.survival.hunger:0}/{GameData.survival.maxHunger:0}";
|
hungerLabel.Text = $"Food: {GameData.survival.hunger:0}/{GameData.survival.maxHunger:0}";
|
||||||
survivalStatus.Text = GameData.survival.currentStatus;
|
survivalStatus.Text = GameData.survival.currentStatus;
|
||||||
|
if (GameData.survival.isDead)
|
||||||
|
{
|
||||||
|
ShowGameOver();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DisplayWorldStats()
|
private void DisplayWorldStats()
|
||||||
{
|
{
|
||||||
currentLayer.Text = $"Current layer: {GameData.currentLayer}/{GameData.ruinSize}";
|
currentLayer.Text = $"Current layer: {GameData.currentLayer}/{GameData.ruinSize}";
|
||||||
deepestLayer.Text = $"Deepest layer: {GameData.lowestLayer}";
|
deepestLayer.Text = $"Deepest layer: {GameData.lowestLayer}";
|
||||||
|
if(GameData.lowestLayer == GameData.ruinSize){
|
||||||
|
unlockLayer.Visible = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
unlockLayer.TooltipText = "Needed items: \r" + GameData.map[GameData.lowestLayer].DisplayGateIngredients();
|
unlockLayer.TooltipText = "Needed items: \r" + GameData.map[GameData.lowestLayer].DisplayGateIngredients();
|
||||||
unlockLayer.Disabled = !GameData.inventory.CanCraft(GameData.map[GameData.lowestLayer].gateIngredients, 1);
|
unlockLayer.Disabled = !GameData.inventory.CanCraft(GameData.map[GameData.lowestLayer].gateIngredients, 1);
|
||||||
}
|
}
|
||||||
@@ -184,8 +193,20 @@ public partial class UIHandler : Control
|
|||||||
GameData.lowestLayer++;
|
GameData.lowestLayer++;
|
||||||
if (GameData.lowestLayer == GameData.ruinSize)
|
if (GameData.lowestLayer == GameData.ruinSize)
|
||||||
{
|
{
|
||||||
GD.Print("GAME WON!");
|
gameOver.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ShowGameOver()
|
||||||
|
{
|
||||||
|
if(gameOver.Visible) return;
|
||||||
|
gameOver.GetNode<RichTextLabel>("./VBoxContainer/Content").Text = $"[font_size=32]You died! \r Reason: {GameData.survival.deathReason} \r Better luck next time \r";
|
||||||
|
gameOver.Show();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void HideGameOver()
|
||||||
|
{
|
||||||
|
gameOver.Hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ public partial class World : Node3D
|
|||||||
|
|
||||||
public override void _Process(double delta)
|
public override void _Process(double delta)
|
||||||
{
|
{
|
||||||
GameData.survival.Update(delta);
|
survival.Update(delta);
|
||||||
if (!canMove) return;
|
if (!canMove) return;
|
||||||
|
|
||||||
if (Input.IsActionJustPressed("layer_up") && currentLayer > 0) currentLayer--;
|
if (Input.IsActionJustPressed("layer_up") && currentLayer > 0) currentLayer--;
|
||||||
|
|||||||
Reference in New Issue
Block a user