Compare commits

...
This repository has been archived on 2023-11-16. You can view files and clone it, but cannot push or open issues or pull requests.

5 Commits
llmapi ... main

Author SHA1 Message Date
f2a9b64fee lock custom setting by preset 2023-09-24 10:41:14 +02:00
f70cef91bd added basic http request 2023-09-23 19:57:43 +02:00
0b7257c971 merge 2023-09-23 19:42:38 +02:00
b231650cc6 HomeScreen und Switching 2023-09-23 17:04:11 +02:00
e0da928eee add simple decorative ui elements 2023-09-23 13:33:52 +02:00
12 changed files with 452 additions and 26 deletions

View File

@ -4,4 +4,7 @@
<EnableDynamicLoading>true</EnableDynamicLoading>
<RootNamespace>GodofAI</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
</Project>

View File

@ -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

BIN
godot/GodofAi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

34
godot/GodofAi.jpg.import Normal file
View File

@ -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

19
godot/Hauptmenü.cs Normal file
View File

@ -0,0 +1,19 @@
using Godot;
using System;
public partial class Hauptmenü : Node2D
{
// Called when the node enters the scene tree for the first time.
public override void _Ready()
{
var node = this.GetNode<CanvasLayer>("HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame");
node.SetProcess(false);
node.Hide();
}
// Called every frame. 'delta' is the elapsed time since the previous frame.
public override void _Process(double delta)
{
}
}

37
godot/LLMApiRequests.cs Normal file
View File

@ -0,0 +1,37 @@
using Godot;
using System;
public partial class LLMApiRequest : HttpRequest
{
public record AnswerRequest(
Message[] Context,
string Prompt
);
public record Message(
string Role,
string? Content
);
private bool PostToApiIsSet = false;
// Called when the node enters the scene tree for the first time.
public override void _Ready()
{
SetProcess(false);
}
public void PostToApi(Action<long, long, string[], byte[]> 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));
}
}

38
godot/Playbutton.cs Normal file
View File

@ -0,0 +1,38 @@
using Godot;
using System;
using System.Net.Cache;
public partial class Playbutton : Button
{
private LLMApiRequest llmApiRequest;
// Called when the node enters the scene tree for the first time.
public override void _Ready()
{
SetProcess(false);
llmApiRequest = GetNode<LLMApiRequest>("/root/Node2D/HTTPRequests");
}
public override void _Pressed()
{
// llmApiRequest.RequestCompleted += OnRequestCompleted;
// llmApiRequest.Request("https://api.github.com/repos/godotengine/godot/releases/latest");
llmApiRequest?.PostToApi(OnRequestCompleted);
GD.Print("a");
var node = this.GetNode<CanvasLayer>("Ingame/Ingame");
node.SetProcess(true);
node.Show();
var GParent = this.GetTree().Root.GetNode<CanvasLayer>("Root/Hauptmenü/HauptMenü");
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));
}
}

22
godot/PopupMenuSzenen.cs Normal file
View File

@ -0,0 +1,22 @@
using Godot;
using System;
public partial class PopupMenuSzenen : MenuButton
{
// Called when the node enters the scene tree for the first time.
public override void _Ready()
{
this.Pressed += ButtonPressed;
}
// Called every frame. 'delta' is the elapsed time since the previous frame.
public override void _Process(double delta)
{
}
private void ButtonPressed()
{
GD.Print("abc");
}
}

4
godot/SPECIAL.tres Normal file
View File

@ -0,0 +1,4 @@
[gd_resource type="Theme" format=3 uid="uid://b16massh2pdbt"]
[resource]
/font_sizes/12 = 20

View File

@ -11,5 +11,6 @@ public partial class TextEdit : Godot.TextEdit
// Called every frame. 'delta' is the elapsed time since the previous frame.
public override void _Process(double delta)
{
}
}

View File

@ -1,14 +1,277 @@
[gd_scene load_steps=3 format=3 uid="uid://1gar30yhw8ay"]
[gd_scene load_steps=8 format=3 uid="uid://1gar30yhw8ay"]
[ext_resource type="Script" path="res://Hauptmenü.cs" id="1_4eu52"]
[ext_resource type="Script" path="res://TextEdit.cs" id="1_5gfrp"]
[ext_resource type="Texture2D" uid="uid://vn2ficr8n4n5" path="res://GodofAi.jpg" id="2_m684j"]
[ext_resource type="Script" path="res://PopupMenuSzenen.cs" id="3_l3xnr"]
[ext_resource type="Script" path="res://Playbutton.cs" id="3_ucfae"]
[ext_resource type="Script" path="res://LLMApiRequests.cs" id="5_pukni"]
[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="Hauptmenü" type="Node2D" parent="."]
position = Vector2(320, 20)
script = ExtResource("1_4eu52")
[node name="Eingabe" type="VBoxContainer" parent="Ingame"]
[node name="HauptMenü" type="CanvasLayer" parent="Hauptmenü"]
[node name="VBoxContainer" type="VBoxContainer" parent="Hauptmenü/HauptMenü"]
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="Hauptmenü/HauptMenü/VBoxContainer"]
custom_minimum_size = Vector2(0, 200)
layout_mode = 2
texture = ExtResource("2_m684j")
[node name="Pop up Menu Szenen" type="MenuButton" parent="Hauptmenü/HauptMenü/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
script = ExtResource("3_l3xnr")
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/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="Strength" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
custom_minimum_size = Vector2(520, 50)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 2
[node name="StrengthLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/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="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Strength"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "0"
[node name="Perception" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
custom_minimum_size = Vector2(520, 50)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 2
[node name="PerceptionLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/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="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Perception"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "0"
[node name="Endurance" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
custom_minimum_size = Vector2(520, 50)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 2
[node name="EnduranceLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/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="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Endurance"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "0"
[node name="Charisma" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
custom_minimum_size = Vector2(520, 50)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 2
[node name="CharismaLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/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="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Charisma"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "0"
[node name="Intelligence" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
custom_minimum_size = Vector2(520, 50)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 2
[node name="CharismaLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/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="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Intelligence"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "0"
[node name="Agillity" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
custom_minimum_size = Vector2(520, 50)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 2
[node name="AgillityLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Agillity"]
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="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Agillity"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "0"
[node name="Luck" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
custom_minimum_size = Vector2(520, 50)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 2
[node name="LuckLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/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="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Luck"]
clip_contents = true
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "0"
[node name="Playbutton" type="Button" parent="Hauptmenü/HauptMenü/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 3
text = " PLAY "
script = ExtResource("3_ucfae")
[node name="Ingame" type="Node2D" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton"]
position = Vector2(-699, -1003)
[node name="Ingame" type="CanvasLayer" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame"]
[node name="Eingabe" type="VBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame"]
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
@ -19,12 +282,12 @@ grow_horizontal = 2
grow_vertical = 0
size_flags_vertical = 0
[node name="TextEdit" type="TextEdit" parent="Ingame/Eingabe"]
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/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="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame"]
anchors_preset = 11
anchor_left = 1.0
anchor_right = 1.0
@ -34,7 +297,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="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/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 +305,7 @@ editable = false
context_menu_enabled = false
wrap_mode = 1
[node name="Stats" type="VBoxContainer" parent="Ingame"]
[node name="Stats" type="VBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
@ -52,7 +315,7 @@ offset_bottom = -360.0
grow_horizontal = 2
grow_vertical = 2
[node name="TextEdit" type="TextEdit" parent="Ingame/Stats"]
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
layout_mode = 2
size_flags_vertical = 3
placeholder_text = "SampleStat = 1
@ -60,49 +323,54 @@ placeholder_text = "SampleStat = 1
editable = false
context_menu_enabled = false
[node name="TextEdit2" type="TextEdit" parent="Ingame/Stats"]
[node name="TextEdit2" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
layout_mode = 2
size_flags_vertical = 3
editable = false
context_menu_enabled = false
[node name="TextEdit3" type="TextEdit" parent="Ingame/Stats"]
[node name="TextEdit3" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
layout_mode = 2
size_flags_vertical = 3
editable = false
context_menu_enabled = false
[node name="TextEdit4" type="TextEdit" parent="Ingame/Stats"]
[node name="TextEdit4" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
layout_mode = 2
size_flags_vertical = 3
editable = false
context_menu_enabled = false
[node name="TextEdit5" type="TextEdit" parent="Ingame/Stats"]
[node name="TextEdit5" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
layout_mode = 2
size_flags_vertical = 3
editable = false
context_menu_enabled = false
[node name="TextEdit6" type="TextEdit" parent="Ingame/Stats"]
[node name="TextEdit6" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
layout_mode = 2
size_flags_vertical = 3
editable = false
context_menu_enabled = false
[node name="TextEdit7" type="TextEdit" parent="Ingame/Stats"]
[node name="TextEdit7" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/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="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame"]
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("5_pukni")
[node name="Button" type="Button" parent="."]
offset_right = 8.0
offset_bottom = 8.0

View File

@ -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