diff --git a/godot/AttributeBox.cs b/godot/AttributeBox.cs new file mode 100644 index 0000000..c382303 --- /dev/null +++ b/godot/AttributeBox.cs @@ -0,0 +1,30 @@ +using Godot; +using System; + +public partial class AttributeBox : SpinBox +{ + // Called when the node enters the scene tree for the first time. + public override void _Ready() + { + } + + // Called every frame. 'delta' is the elapsed time since the previous frame. + public override void _Process(double delta) + { + } + + public override void _ValueChanged(double new_value) + { + nuint Strength = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Strength/SpinBox").Value; + nuint Perception = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Perception/SpinBox").Value; + nuint Endurance = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Endurance/SpinBox").Value; + nuint Charisma = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Charisma/SpinBox").Value; + nuint Intelligence = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Intelligence/SpinBox").Value; + nuint Agility = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Agility/SpinBox").Value; + nuint Luck = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Luck/SpinBox").Value; + string Name = GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Name/NameEdit").Text; + Player player = new Player{Name = Name, Strength = Strength, Perception = Perception, Endurance = Endurance, Charisma = Charisma, Intelligence = Intelligence, Agility = Agility, Luck = Luck}; + + GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/PointsLeft").Text = String.Format("Attribute Points Left: {0}", 35-player.StatSum()); + } +} diff --git a/godot/God of AI.csproj b/godot/God of AI.csproj index b012b57..5297071 100644 --- a/godot/God of AI.csproj +++ b/godot/God of AI.csproj @@ -4,4 +4,7 @@ true GodofAI + + + \ No newline at end of file diff --git a/godot/God of AI.sln b/godot/God of AI.sln index e78f2f3..3113f5c 100644 --- a/godot/God of AI.sln +++ b/godot/God of AI.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "God of AI", "God of AI.csproj", "{DE6878AB-07CF-4EBE-8489-F3CFBFE1694C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "God of AI", "God of AI.csproj", "{9F042379-873C-42A6-B544-C877BAB3A96D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -9,11 +9,11 @@ Global ExportRelease|Any CPU = ExportRelease|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DE6878AB-07CF-4EBE-8489-F3CFBFE1694C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DE6878AB-07CF-4EBE-8489-F3CFBFE1694C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DE6878AB-07CF-4EBE-8489-F3CFBFE1694C}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU - {DE6878AB-07CF-4EBE-8489-F3CFBFE1694C}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU - {DE6878AB-07CF-4EBE-8489-F3CFBFE1694C}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU - {DE6878AB-07CF-4EBE-8489-F3CFBFE1694C}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU + {9F042379-873C-42A6-B544-C877BAB3A96D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9F042379-873C-42A6-B544-C877BAB3A96D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9F042379-873C-42A6-B544-C877BAB3A96D}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU + {9F042379-873C-42A6-B544-C877BAB3A96D}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU + {9F042379-873C-42A6-B544-C877BAB3A96D}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU + {9F042379-873C-42A6-B544-C877BAB3A96D}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU EndGlobalSection EndGlobal diff --git a/godot/GodofAi.jpg b/godot/GodofAi.jpg new file mode 100644 index 0000000..91a4ab5 Binary files /dev/null and b/godot/GodofAi.jpg differ diff --git a/godot/GodofAi.jpg.import b/godot/GodofAi.jpg.import new file mode 100644 index 0000000..8e892d3 --- /dev/null +++ b/godot/GodofAi.jpg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vn2ficr8n4n5" +path="res://.godot/imported/GodofAi.jpg-def59ddc939d56f01f5cd6cd7522f115.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://GodofAi.jpg" +dest_files=["res://.godot/imported/GodofAi.jpg-def59ddc939d56f01f5cd6cd7522f115.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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=1 diff --git a/godot/LLMApiRequests.cs b/godot/LLMApiRequests.cs new file mode 100644 index 0000000..e2e7614 --- /dev/null +++ b/godot/LLMApiRequests.cs @@ -0,0 +1,36 @@ +using Godot; +using System; + +public partial class LLMApiRequests : HttpRequest +{ + public record AnswerRequest( + Message[] Context, + string Prompt + ); + + public record Message( + string Role, + string? Content + ); + + private bool PostToApiIsSet = false; + + public override void _Ready() + { + SetProcess(false); + } + + public void PostToApi(Action action) + { + if(!PostToApiIsSet) + { + RequestCompleted += (long result, long responseCode, string[] headers, byte[] body) => action(result, responseCode, headers, body); + PostToApiIsSet = true; + } + + var answerRequest = new AnswerRequest(new[] { new Message("user", "Hello!"), }, "aodneris"); + + + Request($"http://localhost:5246/LLM/Test", new[] { "Content-Type: application/json" }, HttpClient.Method.Get, Newtonsoft.Json.JsonConvert.SerializeObject(answerRequest)); + } +} diff --git a/godot/TextEdit.cs b/godot/MainMenu.cs similarity index 61% rename from godot/TextEdit.cs rename to godot/MainMenu.cs index 7e557b2..e9af8d3 100644 --- a/godot/TextEdit.cs +++ b/godot/MainMenu.cs @@ -1,15 +1,18 @@ using Godot; using System; -public partial class TextEdit : Godot.TextEdit +public partial class MainMenu : Node2D { // Called when the node enters the scene tree for the first time. public override void _Ready() { + var node = this.GetTree().Root.GetNode("Root/Ingame/IngameCanvas"); + node.SetProcess(false); + node.Hide(); } // Called every frame. 'delta' is the elapsed time since the previous frame. public override void _Process(double delta) - { + { } } diff --git a/godot/Playbutton.cs b/godot/Playbutton.cs new file mode 100644 index 0000000..1f9d101 --- /dev/null +++ b/godot/Playbutton.cs @@ -0,0 +1,56 @@ +using Godot; +using System; +using System.Net.Cache; + +public partial class Playbutton : Button +{ + private LLMApiRequests llmApiRequests; + + // Called when the node enters the scene tree for the first time. + public override void _Ready() + { + SetProcess(false); + llmApiRequests = GetNode("/root/LLMApiRequests"); + } + + public override void _Pressed() + { + nuint Strength = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Strength/SpinBox").Value; + nuint Perception = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Perception/SpinBox").Value; + nuint Endurance = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Endurance/SpinBox").Value; + nuint Charisma = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Charisma/SpinBox").Value; + nuint Intelligence = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Intelligence/SpinBox").Value; + nuint Agility = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Agility/SpinBox").Value; + nuint Luck = (nuint) GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Luck/SpinBox").Value; + string Name = GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas/VBoxContainer/Name/NameEdit").Text; + Player player = new Player{Name = Name, Strength = Strength, Perception = Perception, Endurance = Endurance, Charisma = Charisma, Intelligence = Intelligence, Agility = Agility, Luck = Luck}; + + if (player.isValid()) + { + llmApiRequests?.PostToApi(OnRequestCompleted); + + var node = this.GetTree().Root.GetNode("Root/Ingame/IngameCanvas"); + node.SetProcess(true); + GetTree().Root.GetNode("Root/Ingame/IngameCanvas/Stats/Strength").Text = String.Format("Strength: {0}", Strength); + GetTree().Root.GetNode("Root/Ingame/IngameCanvas/Stats/Perception").Text = String.Format("Perception: {0}", Perception); + GetTree().Root.GetNode("Root/Ingame/IngameCanvas/Stats/Endurance").Text = String.Format("Endurance: {0}", Endurance); + GetTree().Root.GetNode("Root/Ingame/IngameCanvas/Stats/Charisma").Text = String.Format("Charisma: {0}", Charisma); + GetTree().Root.GetNode("Root/Ingame/IngameCanvas/Stats/Intelligence").Text = String.Format("Intelligence: {0}", Intelligence); + GetTree().Root.GetNode("Root/Ingame/IngameCanvas/Stats/Agility").Text = String.Format("Agility: {0}", Agility); + GetTree().Root.GetNode("Root/Ingame/IngameCanvas/Stats/Luck").Text = String.Format("Luck: {0}", Luck); + GetTree().Root.GetNode("Root/Ingame/IngameCanvas/Stats/Name").Text = String.Format("Name: {0}", Name); + + node.Show(); + var GParent = this.GetTree().Root.GetNode("Root/MainMenu/MainMenuCanvas"); + GParent.Hide(); + } + } + + private void OnRequestCompleted(long result, long responseCode, string[] headers, byte[] body) + { + // Godot.Collections.Dictionary json = Json.ParseString(System.Text.Encoding.UTF8.GetString(body)).AsGodotDictionary(); + // GD.Print(json["name"]); + // GD.Print(Json.ParseString(System.Text.Encoding.UTF8.GetString(body)).AsGodotDictionary()); + GD.Print(System.Text.Encoding.UTF8.GetString(body)); + } +} diff --git a/godot/Player.cs b/godot/Player.cs new file mode 100644 index 0000000..5995e4b --- /dev/null +++ b/godot/Player.cs @@ -0,0 +1,36 @@ +public record Player +{ + public string Name { get; init; } + public nuint Strength { get; init; } + public nuint Perception { get; init; } + public nuint Endurance { get; init; } + public nuint Charisma { get; init; } + public nuint Intelligence { get; init; } + public nuint Agility { get; init; } + public nuint Luck { get; init; } + +// public Person(string Name, nuint Strength, nuint Perception, nuint Endurance, nuint Charisma, nuint Intelligence, nuint Agility, nuint Luck, ) +// { +// Name + //} + + public bool isValid() + { + return StatSum() <= 35; + } + + public nint StatSum() + { + nuint sum = 0; + + sum += Strength; + sum += Perception; + sum += Endurance; + sum += Charisma; + sum += Intelligence; + sum += Agility; + sum += Luck; + + return (nint) sum; + } +} diff --git a/godot/SPECIAL.tres b/godot/SPECIAL.tres new file mode 100644 index 0000000..fc7dd0c --- /dev/null +++ b/godot/SPECIAL.tres @@ -0,0 +1,4 @@ +[gd_resource type="Theme" format=3 uid="uid://b16massh2pdbt"] + +[resource] +/font_sizes/12 = 20 diff --git a/godot/UI.tscn b/godot/UI.tscn index 41e1f87..217726d 100644 --- a/godot/UI.tscn +++ b/godot/UI.tscn @@ -1,14 +1,314 @@ -[gd_scene load_steps=3 format=3 uid="uid://1gar30yhw8ay"] +[gd_scene load_steps=7 format=3 uid="uid://1gar30yhw8ay"] -[ext_resource type="Script" path="res://TextEdit.cs" id="1_5gfrp"] +[ext_resource type="Script" path="res://MainMenu.cs" id="1_m0gay"] +[ext_resource type="Texture2D" uid="uid://vn2ficr8n4n5" path="res://GodofAi.jpg" id="2_m684j"] +[ext_resource type="Script" path="res://AttributeBox.cs" id="3_hpms0"] +[ext_resource type="Script" path="res://Playbutton.cs" id="3_ucfae"] +[ext_resource type="Script" path="res://LLMApiRequests.cs" id="4_ff2gi"] [sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ncw85"] -[node name="Node2D" type="Node2D"] +[node name="Root" type="Node2D"] -[node name="Ingame" type="CanvasLayer" parent="."] +[node name="MainMenu" type="Node2D" parent="."] +position = Vector2(320, 20) +script = ExtResource("1_m0gay") -[node name="Eingabe" type="VBoxContainer" parent="Ingame"] +[node name="MainMenuCanvas" type="CanvasLayer" parent="MainMenu"] + +[node name="VBoxContainer" type="VBoxContainer" parent="MainMenu/MainMenuCanvas"] +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -640.0 +offset_top = -520.0 +offset_right = 640.0 +offset_bottom = 520.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 0 + +[node name="Titelbild" type="TextureRect" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(0, 200) +layout_mode = 2 +texture = ExtResource("2_m684j") + +[node name="Pop up Menu Szenen" type="MenuButton" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_mode = 2 +size_flags_horizontal = 4 +text = "Beispielszenen" +flat = false +icon_alignment = 1 +switch_on_hover = true +item_count = 12 +popup/item_0/text = "Fantasy" +popup/item_0/id = 0 +popup/item_0/separator = true +popup/item_1/text = "Fantasy 1" +popup/item_1/id = 1 +popup/item_2/text = "Fantasy 2" +popup/item_2/id = 2 +popup/item_3/text = "Sci Fi" +popup/item_3/id = 3 +popup/item_3/separator = true +popup/item_4/text = "Sci Fi 1" +popup/item_4/id = 4 +popup/item_5/text = "Sci Fi 2" +popup/item_5/id = 5 +popup/item_6/text = "Cyberpunk" +popup/item_6/id = 6 +popup/item_6/separator = true +popup/item_7/text = "Cyberpunk 1" +popup/item_7/id = 7 +popup/item_8/text = "Cyberpunk 2" +popup/item_8/id = 8 +popup/item_9/text = "Krimi" +popup/item_9/id = 9 +popup/item_9/separator = true +popup/item_10/text = "Krimi 1" +popup/item_10/id = 10 +popup/item_11/text = "Krimi 2" +popup/item_11/id = 11 + +[node name="TextEdit" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 300) +layout_direction = 1 +layout_mode = 2 +size_flags_horizontal = 4 +placeholder_text = "Enter a custom setting" +drag_and_drop_selection_enabled = false +middle_mouse_paste_enabled = false + +[node name="PointsLeft" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_direction = 1 +layout_mode = 2 +size_flags_horizontal = 4 +text = "Attribute Points Left: 28" +editable = false +drag_and_drop_selection_enabled = false +middle_mouse_paste_enabled = false + +[node name="Name" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 3 + +[node name="NameLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Name"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Character Name:" +editable = false +context_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +middle_mouse_paste_enabled = false + +[node name="NameEdit" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Name"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Strength" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 + +[node name="StrengthLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Strength"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Strength" +editable = false +context_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +middle_mouse_paste_enabled = false + +[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Strength"] +layout_mode = 2 +min_value = 1.0 +max_value = 10.0 +value = 1.0 +script = ExtResource("3_hpms0") + +[node name="Perception" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 + +[node name="PerceptionLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Perception"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Perception" +editable = false +context_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +middle_mouse_paste_enabled = false + +[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Perception"] +layout_mode = 2 +min_value = 1.0 +max_value = 10.0 +value = 1.0 +script = ExtResource("3_hpms0") + +[node name="Endurance" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 + +[node name="EnduranceLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Endurance"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Endurance" +editable = false +context_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +middle_mouse_paste_enabled = false + +[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Endurance"] +layout_mode = 2 +min_value = 1.0 +max_value = 10.0 +value = 1.0 +script = ExtResource("3_hpms0") + +[node name="Charisma" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 + +[node name="CharismaLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Charisma"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Charisma" +editable = false +context_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +middle_mouse_paste_enabled = false + +[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Charisma"] +layout_mode = 2 +min_value = 1.0 +max_value = 10.0 +value = 1.0 +script = ExtResource("3_hpms0") + +[node name="Intelligence" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 + +[node name="CharismaLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Intelligence"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Intelligence" +editable = false +context_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +middle_mouse_paste_enabled = false + +[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Intelligence"] +layout_mode = 2 +min_value = 1.0 +max_value = 10.0 +value = 1.0 +script = ExtResource("3_hpms0") + +[node name="Agility" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 + +[node name="AgilityLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Agility"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Agillity" +editable = false +context_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +middle_mouse_paste_enabled = false + +[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Agility"] +layout_mode = 2 +min_value = 1.0 +max_value = 10.0 +value = 1.0 +script = ExtResource("3_hpms0") + +[node name="Luck" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +custom_minimum_size = Vector2(520, 50) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 + +[node name="LuckLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Luck"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Luck" +editable = false +context_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +middle_mouse_paste_enabled = false + +[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Luck"] +layout_mode = 2 +min_value = 1.0 +max_value = 10.0 +value = 1.0 +script = ExtResource("3_hpms0") + +[node name="Playbutton" type="Button" parent="MainMenu/MainMenuCanvas/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 3 +text = " PLAY " +script = ExtResource("3_ucfae") + +[node name="Ingame" type="Node2D" parent="."] + +[node name="IngameCanvas" type="CanvasLayer" parent="Ingame"] + +[node name="Eingabe" type="VBoxContainer" parent="Ingame/IngameCanvas"] anchors_preset = 12 anchor_top = 1.0 anchor_right = 1.0 @@ -19,12 +319,11 @@ grow_horizontal = 2 grow_vertical = 0 size_flags_vertical = 0 -[node name="TextEdit" type="TextEdit" parent="Ingame/Eingabe"] +[node name="TextEdit" type="TextEdit" parent="Ingame/IngameCanvas/Eingabe"] layout_mode = 2 size_flags_vertical = 3 -script = ExtResource("1_5gfrp") -[node name="Story" type="VBoxContainer" parent="Ingame"] +[node name="Story" type="VBoxContainer" parent="Ingame/IngameCanvas"] anchors_preset = 11 anchor_left = 1.0 anchor_right = 1.0 @@ -34,7 +333,7 @@ grow_horizontal = 0 grow_vertical = 2 size_flags_horizontal = 8 -[node name="TextEdit" type="TextEdit" parent="Ingame/Story"] +[node name="TextEdit" type="TextEdit" parent="Ingame/IngameCanvas/Story"] layout_mode = 2 size_flags_vertical = 3 placeholder_text = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." @@ -42,7 +341,7 @@ editable = false context_menu_enabled = false wrap_mode = 1 -[node name="Stats" type="VBoxContainer" parent="Ingame"] +[node name="Stats" type="VBoxContainer" parent="Ingame/IngameCanvas"] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -52,7 +351,13 @@ offset_bottom = -360.0 grow_horizontal = 2 grow_vertical = 2 -[node name="TextEdit" type="TextEdit" parent="Ingame/Stats"] +[node name="Name" type="TextEdit" parent="Ingame/IngameCanvas/Stats"] +layout_mode = 2 +size_flags_vertical = 3 +editable = false +wrap_mode = 1 + +[node name="Strength" type="TextEdit" parent="Ingame/IngameCanvas/Stats"] layout_mode = 2 size_flags_vertical = 3 placeholder_text = "SampleStat = 1 @@ -60,49 +365,50 @@ placeholder_text = "SampleStat = 1 editable = false context_menu_enabled = false -[node name="TextEdit2" type="TextEdit" parent="Ingame/Stats"] +[node name="Perception" type="TextEdit" parent="Ingame/IngameCanvas/Stats"] layout_mode = 2 size_flags_vertical = 3 editable = false context_menu_enabled = false -[node name="TextEdit3" type="TextEdit" parent="Ingame/Stats"] +[node name="Endurance" type="TextEdit" parent="Ingame/IngameCanvas/Stats"] layout_mode = 2 size_flags_vertical = 3 editable = false context_menu_enabled = false -[node name="TextEdit4" type="TextEdit" parent="Ingame/Stats"] +[node name="Charisma" type="TextEdit" parent="Ingame/IngameCanvas/Stats"] layout_mode = 2 size_flags_vertical = 3 editable = false context_menu_enabled = false -[node name="TextEdit5" type="TextEdit" parent="Ingame/Stats"] +[node name="Intelligence" type="TextEdit" parent="Ingame/IngameCanvas/Stats"] layout_mode = 2 size_flags_vertical = 3 editable = false context_menu_enabled = false -[node name="TextEdit6" type="TextEdit" parent="Ingame/Stats"] +[node name="Agility" type="TextEdit" parent="Ingame/IngameCanvas/Stats"] layout_mode = 2 size_flags_vertical = 3 editable = false context_menu_enabled = false -[node name="TextEdit7" type="TextEdit" parent="Ingame/Stats"] +[node name="Luck" type="TextEdit" parent="Ingame/IngameCanvas/Stats"] layout_mode = 2 size_flags_vertical = 3 editable = false context_menu_enabled = false -[node name="Szenerie" type="TextureRect" parent="."] +[node name="Szenerie" type="TextureRect" parent="Ingame/IngameCanvas"] offset_left = -3.0 offset_top = -1.0 offset_right = 1277.0 offset_bottom = 719.0 -focus_neighbor_left = NodePath("../Ingame/Stats") -focus_neighbor_bottom = NodePath("../Ingame/Eingabe") texture = SubResource("CompressedTexture2D_ncw85") expand_mode = 1 stretch_mode = 1 + +[node name="LLMApiRequests" type="HTTPRequest" parent="."] +script = ExtResource("4_ff2gi") diff --git a/godot/icon.svg.import b/godot/icon.svg.import index 6c1bfba..b5a3868 100644 --- a/godot/icon.svg.import +++ b/godot/icon.svg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c5xk7a15wrsip" +uid="uid://dp2wwugsa03q" path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" metadata={ "vram_texture": false