Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
f2a9b64fee |
35
LLMApi/.vscode/launch.json
vendored
35
LLMApi/.vscode/launch.json
vendored
@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
// Use IntelliSense to find out which attributes exist for C# debugging
|
|
||||||
// Use hover for the description of the existing attributes
|
|
||||||
// For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md.
|
|
||||||
"name": ".NET Core Launch (web)",
|
|
||||||
"type": "coreclr",
|
|
||||||
"request": "launch",
|
|
||||||
"preLaunchTask": "build",
|
|
||||||
// If you have changed target frameworks, make sure to update the program path.
|
|
||||||
"program": "${workspaceFolder}/bin/Debug/net7.0/LLMApi.dll",
|
|
||||||
"args": [],
|
|
||||||
"cwd": "${workspaceFolder}",
|
|
||||||
"stopAtEntry": false,
|
|
||||||
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
|
|
||||||
"serverReadyAction": {
|
|
||||||
"action": "openExternally",
|
|
||||||
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
|
|
||||||
},
|
|
||||||
"env": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
},
|
|
||||||
"sourceFileMap": {
|
|
||||||
"/Views": "${workspaceFolder}/Views"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": ".NET Core Attach",
|
|
||||||
"type": "coreclr",
|
|
||||||
"request": "attach"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
12
LLMApi/.vscode/settings.json
vendored
12
LLMApi/.vscode/settings.json
vendored
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"files.exclude": {
|
|
||||||
"**/.git": true,
|
|
||||||
"**/.svn": true,
|
|
||||||
"**/.hg": true,
|
|
||||||
"**/CVS": true,
|
|
||||||
"**/.DS_Store": true,
|
|
||||||
"**/Thumbs.db": true,
|
|
||||||
"**/bin/": true,
|
|
||||||
"**/obj/": true,
|
|
||||||
}
|
|
||||||
}
|
|
41
LLMApi/.vscode/tasks.json
vendored
41
LLMApi/.vscode/tasks.json
vendored
@ -1,41 +0,0 @@
|
|||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "build",
|
|
||||||
"command": "dotnet",
|
|
||||||
"type": "process",
|
|
||||||
"args": [
|
|
||||||
"build",
|
|
||||||
"${workspaceFolder}/LLMApi.csproj",
|
|
||||||
"/property:GenerateFullPaths=true",
|
|
||||||
"/consoleloggerparameters:NoSummary"
|
|
||||||
],
|
|
||||||
"problemMatcher": "$msCompile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "publish",
|
|
||||||
"command": "dotnet",
|
|
||||||
"type": "process",
|
|
||||||
"args": [
|
|
||||||
"publish",
|
|
||||||
"${workspaceFolder}/LLMApi.csproj",
|
|
||||||
"/property:GenerateFullPaths=true",
|
|
||||||
"/consoleloggerparameters:NoSummary"
|
|
||||||
],
|
|
||||||
"problemMatcher": "$msCompile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "watch",
|
|
||||||
"command": "dotnet",
|
|
||||||
"type": "process",
|
|
||||||
"args": [
|
|
||||||
"watch",
|
|
||||||
"run",
|
|
||||||
"--project",
|
|
||||||
"${workspaceFolder}/LLMApi.csproj"
|
|
||||||
],
|
|
||||||
"problemMatcher": "$msCompile"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
using LLMApi.Services;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace LLMApi.Controllers;
|
|
||||||
|
|
||||||
[ApiController]
|
|
||||||
[Route("[controller]")]
|
|
||||||
public class LLMController : ControllerBase
|
|
||||||
{
|
|
||||||
private readonly ILlmApiService _apiService;
|
|
||||||
|
|
||||||
public LLMController(ILlmApiService apiService)
|
|
||||||
{
|
|
||||||
_apiService = apiService;
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpGet(nameof(AnswerToPrompt))]
|
|
||||||
public async Task<IActionResult> AnswerToPrompt(string prompt = "")
|
|
||||||
{
|
|
||||||
var temp = await _apiService.GetAnswerToPrompt(prompt);
|
|
||||||
|
|
||||||
return Ok(temp);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
namespace LLMApi.Data.Contracts.ChatGpt3_5;
|
|
||||||
|
|
||||||
public record ChatCompletionRequest(
|
|
||||||
string Model,
|
|
||||||
Message[] Messages
|
|
||||||
);
|
|
||||||
|
|
||||||
public record Message(
|
|
||||||
string Role,
|
|
||||||
string? Content
|
|
||||||
);
|
|
@ -1,22 +0,0 @@
|
|||||||
namespace LLMApi.Data.Contracts.ChatGpt3_5;
|
|
||||||
|
|
||||||
public record ChatCompletionResponse(
|
|
||||||
string Id,
|
|
||||||
string Object,
|
|
||||||
int Created,
|
|
||||||
string Model,
|
|
||||||
Choice[] Choices,
|
|
||||||
Usage Usage
|
|
||||||
);
|
|
||||||
|
|
||||||
public record Choice(
|
|
||||||
int Index,
|
|
||||||
Message Message,
|
|
||||||
string FinishReason
|
|
||||||
);
|
|
||||||
|
|
||||||
public record Usage(
|
|
||||||
int PromptTokens,
|
|
||||||
int CompletionTokens,
|
|
||||||
int TotalTokens
|
|
||||||
);
|
|
@ -1,15 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net7.0</TargetFramework>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.11" />
|
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
|
||||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
@ -1,31 +0,0 @@
|
|||||||
using System.Net.Http;
|
|
||||||
using LLMApi.Services;
|
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
|
||||||
|
|
||||||
// Add services to the container.
|
|
||||||
|
|
||||||
builder.Services.AddControllers();
|
|
||||||
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
|
||||||
builder.Services.AddEndpointsApiExplorer();
|
|
||||||
builder.Services.AddSwaggerGen();
|
|
||||||
|
|
||||||
builder.Services.AddSingleton<HttpClient>();
|
|
||||||
builder.Services.AddSingleton<ILlmApiService, ChatGpt3_5Service>();
|
|
||||||
|
|
||||||
var app = builder.Build();
|
|
||||||
|
|
||||||
// Configure the HTTP request pipeline.
|
|
||||||
if (app.Environment.IsDevelopment())
|
|
||||||
{
|
|
||||||
app.UseSwagger();
|
|
||||||
app.UseSwaggerUI();
|
|
||||||
}
|
|
||||||
|
|
||||||
app.UseHttpsRedirection();
|
|
||||||
|
|
||||||
app.UseAuthorization();
|
|
||||||
|
|
||||||
app.MapControllers();
|
|
||||||
|
|
||||||
app.Run();
|
|
@ -1,41 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json.schemastore.org/launchsettings.json",
|
|
||||||
"iisSettings": {
|
|
||||||
"windowsAuthentication": false,
|
|
||||||
"anonymousAuthentication": true,
|
|
||||||
"iisExpress": {
|
|
||||||
"applicationUrl": "http://localhost:17280",
|
|
||||||
"sslPort": 44333
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"profiles": {
|
|
||||||
"http": {
|
|
||||||
"commandName": "Project",
|
|
||||||
"dotnetRunMessages": true,
|
|
||||||
"launchBrowser": true,
|
|
||||||
"launchUrl": "swagger",
|
|
||||||
"applicationUrl": "http://localhost:5246",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"https": {
|
|
||||||
"commandName": "Project",
|
|
||||||
"dotnetRunMessages": true,
|
|
||||||
"launchBrowser": true,
|
|
||||||
"launchUrl": "swagger",
|
|
||||||
"applicationUrl": "https://localhost:7113;http://localhost:5246",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"IIS Express": {
|
|
||||||
"commandName": "IISExpress",
|
|
||||||
"launchBrowser": true,
|
|
||||||
"launchUrl": "swagger",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
using LLMApi.Data.Contracts.ChatGpt3_5;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using Newtonsoft.Json.Serialization;
|
|
||||||
|
|
||||||
namespace LLMApi.Services;
|
|
||||||
|
|
||||||
public class ChatGpt3_5Service : ILlmApiService
|
|
||||||
{
|
|
||||||
private readonly HttpClient _client;
|
|
||||||
private static readonly JsonSerializerSettings jsonSerializerSettings = new()
|
|
||||||
{
|
|
||||||
ContractResolver = new DefaultContractResolver()
|
|
||||||
{
|
|
||||||
NamingStrategy = new SnakeCaseNamingStrategy()
|
|
||||||
}
|
|
||||||
};
|
|
||||||
private const string API_TOKEN = "";
|
|
||||||
private const string VERSION_IDENTIFIER = "gpt-3.5-turbo";
|
|
||||||
|
|
||||||
public ChatGpt3_5Service(HttpClient client)
|
|
||||||
{
|
|
||||||
_client = client;
|
|
||||||
_client.BaseAddress = new Uri("https://api.openai.com");
|
|
||||||
// _client.DefaultRequestHeaders.Add("Content-Type", "application/json");
|
|
||||||
_client.DefaultRequestHeaders.Add("Authorization", $"Bearer {API_TOKEN}");
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<string> GetAnswerToPrompt(string prompt)
|
|
||||||
{
|
|
||||||
var requestContract = new ChatCompletionRequest(VERSION_IDENTIFIER,
|
|
||||||
new Message[]
|
|
||||||
{
|
|
||||||
new("system", "You are a helpful assistant."),
|
|
||||||
new("user", "Hello!"),
|
|
||||||
});
|
|
||||||
|
|
||||||
var response = await _client.PostAsJsonAsync("/v1/chat/completions", requestContract);
|
|
||||||
|
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
|
||||||
|
|
||||||
var obj = JsonConvert.DeserializeObject<ChatCompletionResponse>(content, jsonSerializerSettings);
|
|
||||||
|
|
||||||
return obj!.ToString() + Environment.NewLine + string.Join(", ", obj!.Choices.Select(c => c.ToString()));
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
namespace LLMApi.Services;
|
|
||||||
|
|
||||||
public interface ILlmApiService
|
|
||||||
{
|
|
||||||
public Task<string> GetAnswerToPrompt(string prompt);
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft.AspNetCore": "Warning"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Information",
|
|
||||||
"Microsoft.AspNetCore": "Warning"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"AllowedHosts": "*"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
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<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Strength/SpinBox").Value;
|
|
||||||
nuint Perception = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Perception/SpinBox").Value;
|
|
||||||
nuint Endurance = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Endurance/SpinBox").Value;
|
|
||||||
nuint Charisma = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Charisma/SpinBox").Value;
|
|
||||||
nuint Intelligence = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Intelligence/SpinBox").Value;
|
|
||||||
nuint Agility = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Agility/SpinBox").Value;
|
|
||||||
nuint Luck = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Luck/SpinBox").Value;
|
|
||||||
string Name = GetTree().Root.GetNode<TextEdit>("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<TextEdit>("Root/MainMenu/MainMenuCanvas/VBoxContainer/PointsLeft").Text = String.Format("Attribute Points Left: {0}", 35-player.StatSum());
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +1,12 @@
|
|||||||
using Godot;
|
using Godot;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
public partial class MainMenu : Node2D
|
public partial class Hauptmenü : Node2D
|
||||||
{
|
{
|
||||||
// Called when the node enters the scene tree for the first time.
|
// Called when the node enters the scene tree for the first time.
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
var node = this.GetTree().Root.GetNode<CanvasLayer>("Root/Ingame/IngameCanvas");
|
var node = this.GetNode<CanvasLayer>("HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame");
|
||||||
node.SetProcess(false);
|
node.SetProcess(false);
|
||||||
node.Hide();
|
node.Hide();
|
||||||
}
|
}
|
||||||
@ -14,5 +14,6 @@ public partial class MainMenu : Node2D
|
|||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
public override void _Process(double delta)
|
public override void _Process(double delta)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,7 +1,7 @@
|
|||||||
using Godot;
|
using Godot;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
public partial class LLMApiRequests : HttpRequest
|
public partial class LLMApiRequest : HttpRequest
|
||||||
{
|
{
|
||||||
public record AnswerRequest(
|
public record AnswerRequest(
|
||||||
Message[] Context,
|
Message[] Context,
|
||||||
@ -15,6 +15,7 @@ public partial class LLMApiRequests : HttpRequest
|
|||||||
|
|
||||||
private bool PostToApiIsSet = false;
|
private bool PostToApiIsSet = false;
|
||||||
|
|
||||||
|
// Called when the node enters the scene tree for the first time.
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
SetProcess(false);
|
SetProcess(false);
|
||||||
|
@ -4,47 +4,29 @@ using System.Net.Cache;
|
|||||||
|
|
||||||
public partial class Playbutton : Button
|
public partial class Playbutton : Button
|
||||||
{
|
{
|
||||||
private LLMApiRequests llmApiRequests;
|
private LLMApiRequest llmApiRequest;
|
||||||
|
|
||||||
// Called when the node enters the scene tree for the first time.
|
// Called when the node enters the scene tree for the first time.
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
SetProcess(false);
|
SetProcess(false);
|
||||||
llmApiRequests = GetNode<LLMApiRequests>("/root/LLMApiRequests");
|
llmApiRequest = GetNode<LLMApiRequest>("/root/Node2D/HTTPRequests");
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void _Pressed()
|
public override void _Pressed()
|
||||||
{
|
{
|
||||||
nuint Strength = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Strength/SpinBox").Value;
|
// llmApiRequest.RequestCompleted += OnRequestCompleted;
|
||||||
nuint Perception = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Perception/SpinBox").Value;
|
// llmApiRequest.Request("https://api.github.com/repos/godotengine/godot/releases/latest");
|
||||||
nuint Endurance = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Endurance/SpinBox").Value;
|
llmApiRequest?.PostToApi(OnRequestCompleted);
|
||||||
nuint Charisma = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Charisma/SpinBox").Value;
|
|
||||||
nuint Intelligence = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Intelligence/SpinBox").Value;
|
|
||||||
nuint Agility = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Agility/SpinBox").Value;
|
|
||||||
nuint Luck = (nuint) GetTree().Root.GetNode<SpinBox>("Root/MainMenu/MainMenuCanvas/VBoxContainer/Luck/SpinBox").Value;
|
|
||||||
string Name = GetTree().Root.GetNode<TextEdit>("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<CanvasLayer>("Root/Ingame/IngameCanvas");
|
GD.Print("a");
|
||||||
|
var node = this.GetNode<CanvasLayer>("Ingame/Ingame");
|
||||||
node.SetProcess(true);
|
node.SetProcess(true);
|
||||||
GetTree().Root.GetNode<TextEdit>("Root/Ingame/IngameCanvas/Stats/Strength").Text = String.Format("Strength: {0}", Strength);
|
|
||||||
GetTree().Root.GetNode<TextEdit>("Root/Ingame/IngameCanvas/Stats/Perception").Text = String.Format("Perception: {0}", Perception);
|
|
||||||
GetTree().Root.GetNode<TextEdit>("Root/Ingame/IngameCanvas/Stats/Endurance").Text = String.Format("Endurance: {0}", Endurance);
|
|
||||||
GetTree().Root.GetNode<TextEdit>("Root/Ingame/IngameCanvas/Stats/Charisma").Text = String.Format("Charisma: {0}", Charisma);
|
|
||||||
GetTree().Root.GetNode<TextEdit>("Root/Ingame/IngameCanvas/Stats/Intelligence").Text = String.Format("Intelligence: {0}", Intelligence);
|
|
||||||
GetTree().Root.GetNode<TextEdit>("Root/Ingame/IngameCanvas/Stats/Agility").Text = String.Format("Agility: {0}", Agility);
|
|
||||||
GetTree().Root.GetNode<TextEdit>("Root/Ingame/IngameCanvas/Stats/Luck").Text = String.Format("Luck: {0}", Luck);
|
|
||||||
GetTree().Root.GetNode<TextEdit>("Root/Ingame/IngameCanvas/Stats/Name").Text = String.Format("Name: {0}", Name);
|
|
||||||
|
|
||||||
node.Show();
|
node.Show();
|
||||||
var GParent = this.GetTree().Root.GetNode<CanvasLayer>("Root/MainMenu/MainMenuCanvas");
|
var GParent = this.GetTree().Root.GetNode<CanvasLayer>("Root/Hauptmenü/HauptMenü");
|
||||||
GParent.Hide();
|
GParent.Hide();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private void OnRequestCompleted(long result, long responseCode, string[] headers, byte[] body)
|
private void OnRequestCompleted(long result, long responseCode, string[] headers, byte[] body)
|
||||||
{
|
{
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
22
godot/PopupMenuSzenen.cs
Normal file
22
godot/PopupMenuSzenen.cs
Normal 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");
|
||||||
|
}
|
||||||
|
}
|
16
godot/TextEdit.cs
Normal file
16
godot/TextEdit.cs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
using Godot;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
public partial class TextEdit : Godot.TextEdit
|
||||||
|
{
|
||||||
|
// 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)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
166
godot/UI.cs
166
godot/UI.cs
@ -1,166 +0,0 @@
|
|||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class UI : Node2D
|
|
||||||
{
|
|
||||||
[Export]
|
|
||||||
private byte Strength = 5;
|
|
||||||
[Export]
|
|
||||||
private byte Perception = 5;
|
|
||||||
[Export]
|
|
||||||
private byte Endurance = 5;
|
|
||||||
[Export]
|
|
||||||
private byte Charisma = 5;
|
|
||||||
[Export]
|
|
||||||
private byte Intelligence = 5;
|
|
||||||
[Export]
|
|
||||||
private byte Agility = 5;
|
|
||||||
[Export]
|
|
||||||
private byte Luck = 5;
|
|
||||||
|
|
||||||
private List<string> = context;
|
|
||||||
|
|
||||||
// Called when the node enters the scene tree for the first time.
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
GD.Randomize();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
public override void _Process(double delta)
|
|
||||||
{
|
|
||||||
context = new List<string>();
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool StrengthCheck(byte difficulty)
|
|
||||||
{
|
|
||||||
uint score = 0;
|
|
||||||
for (byte i = 0; i < Strength; i++)
|
|
||||||
{
|
|
||||||
score += GD.Randi() % 6 + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (score >= difficulty)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool PerceptionCheck(byte difficulty)
|
|
||||||
{
|
|
||||||
uint score = 0;
|
|
||||||
for (byte i = 0; i < Perception; i++)
|
|
||||||
{
|
|
||||||
score += GD.Randi() % 6 + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (score >= difficulty)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool EnduranceCheck(byte difficulty)
|
|
||||||
{
|
|
||||||
uint score = 0;
|
|
||||||
for (byte i = 0; i < Endurance; i++)
|
|
||||||
{
|
|
||||||
score += GD.Randi() % 6 + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (score >= difficulty)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool CharismaCheck(byte difficulty)
|
|
||||||
{
|
|
||||||
uint score = 0;
|
|
||||||
for (byte i = 0; i < Charisma; i++)
|
|
||||||
{
|
|
||||||
score += GD.Randi() % 6 + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (score >= difficulty)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IntelligenceCheck(byte difficulty)
|
|
||||||
{
|
|
||||||
uint score = 0;
|
|
||||||
for (byte i = 0; i < Intelligence; i++)
|
|
||||||
{
|
|
||||||
score += GD.Randi() % 6 + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (score >= difficulty)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool AgilityCheck(byte difficulty)
|
|
||||||
{
|
|
||||||
uint score = 0;
|
|
||||||
for (byte i = 0; i < Agility; i++)
|
|
||||||
{
|
|
||||||
score += GD.Randi() % 6 + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (score >= difficulty)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public bool LuckCheck(byte difficulty)
|
|
||||||
{
|
|
||||||
uint score = 0;
|
|
||||||
for (byte i = 0; i < Luck; i++)
|
|
||||||
{
|
|
||||||
score += GD.Randi() % 6 + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (score >= difficulty)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool isJSON(string text)
|
|
||||||
{
|
|
||||||
return text.Contains('{') || text.Contains('}');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
194
godot/UI.tscn
194
godot/UI.tscn
@ -1,22 +1,23 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://1gar30yhw8ay"]
|
[gd_scene load_steps=8 format=3 uid="uid://1gar30yhw8ay"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://MainMenu.cs" id="1_m0gay"]
|
[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="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://PopupMenuSzenen.cs" id="3_l3xnr"]
|
||||||
[ext_resource type="Script" path="res://Playbutton.cs" id="3_ucfae"]
|
[ext_resource type="Script" path="res://Playbutton.cs" id="3_ucfae"]
|
||||||
[ext_resource type="Script" path="res://LLMApiRequests.cs" id="4_ff2gi"]
|
[ext_resource type="Script" path="res://LLMApiRequests.cs" id="5_pukni"]
|
||||||
|
|
||||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ncw85"]
|
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ncw85"]
|
||||||
|
|
||||||
[node name="Root" type="Node2D"]
|
[node name="Root" type="Node2D"]
|
||||||
|
|
||||||
[node name="MainMenu" type="Node2D" parent="."]
|
[node name="Hauptmenü" type="Node2D" parent="."]
|
||||||
position = Vector2(320, 20)
|
position = Vector2(320, 20)
|
||||||
script = ExtResource("1_m0gay")
|
script = ExtResource("1_4eu52")
|
||||||
|
|
||||||
[node name="MainMenuCanvas" type="CanvasLayer" parent="MainMenu"]
|
[node name="HauptMenü" type="CanvasLayer" parent="Hauptmenü"]
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="MainMenu/MainMenuCanvas"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="Hauptmenü/HauptMenü"]
|
||||||
anchors_preset = 8
|
anchors_preset = 8
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
anchor_top = 0.5
|
anchor_top = 0.5
|
||||||
@ -30,12 +31,12 @@ grow_horizontal = 2
|
|||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
size_flags_horizontal = 0
|
size_flags_horizontal = 0
|
||||||
|
|
||||||
[node name="Titelbild" type="TextureRect" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Titelbild" type="TextureRect" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(0, 200)
|
custom_minimum_size = Vector2(0, 200)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = ExtResource("2_m684j")
|
texture = ExtResource("2_m684j")
|
||||||
|
|
||||||
[node name="Pop up Menu Szenen" type="MenuButton" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Pop up Menu Szenen" type="MenuButton" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(520, 50)
|
custom_minimum_size = Vector2(520, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
@ -72,8 +73,9 @@ popup/item_10/text = "Krimi 1"
|
|||||||
popup/item_10/id = 10
|
popup/item_10/id = 10
|
||||||
popup/item_11/text = "Krimi 2"
|
popup/item_11/text = "Krimi 2"
|
||||||
popup/item_11/id = 11
|
popup/item_11/id = 11
|
||||||
|
script = ExtResource("3_l3xnr")
|
||||||
|
|
||||||
[node name="TextEdit" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(520, 300)
|
custom_minimum_size = Vector2(520, 300)
|
||||||
layout_direction = 1
|
layout_direction = 1
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
@ -82,46 +84,13 @@ placeholder_text = "Enter a custom setting"
|
|||||||
drag_and_drop_selection_enabled = false
|
drag_and_drop_selection_enabled = false
|
||||||
middle_mouse_paste_enabled = false
|
middle_mouse_paste_enabled = false
|
||||||
|
|
||||||
[node name="PointsLeft" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Strength" type="HBoxContainer" parent="Hauptmenü/HauptMenü/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)
|
custom_minimum_size = Vector2(520, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 2
|
||||||
|
|
||||||
[node name="StrengthLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Strength"]
|
[node name="StrengthLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Strength"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Strength"
|
text = "Strength"
|
||||||
@ -134,20 +103,19 @@ drag_and_drop_selection_enabled = false
|
|||||||
virtual_keyboard_enabled = false
|
virtual_keyboard_enabled = false
|
||||||
middle_mouse_paste_enabled = false
|
middle_mouse_paste_enabled = false
|
||||||
|
|
||||||
[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Strength"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Strength"]
|
||||||
|
clip_contents = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = 1.0
|
size_flags_horizontal = 3
|
||||||
max_value = 10.0
|
placeholder_text = "0"
|
||||||
value = 1.0
|
|
||||||
script = ExtResource("3_hpms0")
|
|
||||||
|
|
||||||
[node name="Perception" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Perception" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(520, 50)
|
custom_minimum_size = Vector2(520, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 2
|
||||||
|
|
||||||
[node name="PerceptionLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Perception"]
|
[node name="PerceptionLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Perception"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Perception"
|
text = "Perception"
|
||||||
@ -160,20 +128,19 @@ drag_and_drop_selection_enabled = false
|
|||||||
virtual_keyboard_enabled = false
|
virtual_keyboard_enabled = false
|
||||||
middle_mouse_paste_enabled = false
|
middle_mouse_paste_enabled = false
|
||||||
|
|
||||||
[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Perception"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Perception"]
|
||||||
|
clip_contents = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = 1.0
|
size_flags_horizontal = 3
|
||||||
max_value = 10.0
|
placeholder_text = "0"
|
||||||
value = 1.0
|
|
||||||
script = ExtResource("3_hpms0")
|
|
||||||
|
|
||||||
[node name="Endurance" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Endurance" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(520, 50)
|
custom_minimum_size = Vector2(520, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 2
|
||||||
|
|
||||||
[node name="EnduranceLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Endurance"]
|
[node name="EnduranceLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Endurance"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Endurance"
|
text = "Endurance"
|
||||||
@ -186,20 +153,19 @@ drag_and_drop_selection_enabled = false
|
|||||||
virtual_keyboard_enabled = false
|
virtual_keyboard_enabled = false
|
||||||
middle_mouse_paste_enabled = false
|
middle_mouse_paste_enabled = false
|
||||||
|
|
||||||
[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Endurance"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Endurance"]
|
||||||
|
clip_contents = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = 1.0
|
size_flags_horizontal = 3
|
||||||
max_value = 10.0
|
placeholder_text = "0"
|
||||||
value = 1.0
|
|
||||||
script = ExtResource("3_hpms0")
|
|
||||||
|
|
||||||
[node name="Charisma" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Charisma" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(520, 50)
|
custom_minimum_size = Vector2(520, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 2
|
||||||
|
|
||||||
[node name="CharismaLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Charisma"]
|
[node name="CharismaLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Charisma"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Charisma"
|
text = "Charisma"
|
||||||
@ -212,20 +178,19 @@ drag_and_drop_selection_enabled = false
|
|||||||
virtual_keyboard_enabled = false
|
virtual_keyboard_enabled = false
|
||||||
middle_mouse_paste_enabled = false
|
middle_mouse_paste_enabled = false
|
||||||
|
|
||||||
[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Charisma"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Charisma"]
|
||||||
|
clip_contents = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = 1.0
|
size_flags_horizontal = 3
|
||||||
max_value = 10.0
|
placeholder_text = "0"
|
||||||
value = 1.0
|
|
||||||
script = ExtResource("3_hpms0")
|
|
||||||
|
|
||||||
[node name="Intelligence" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Intelligence" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(520, 50)
|
custom_minimum_size = Vector2(520, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 2
|
||||||
|
|
||||||
[node name="CharismaLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Intelligence"]
|
[node name="CharismaLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Intelligence"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Intelligence"
|
text = "Intelligence"
|
||||||
@ -238,20 +203,19 @@ drag_and_drop_selection_enabled = false
|
|||||||
virtual_keyboard_enabled = false
|
virtual_keyboard_enabled = false
|
||||||
middle_mouse_paste_enabled = false
|
middle_mouse_paste_enabled = false
|
||||||
|
|
||||||
[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Intelligence"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Intelligence"]
|
||||||
|
clip_contents = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = 1.0
|
size_flags_horizontal = 3
|
||||||
max_value = 10.0
|
placeholder_text = "0"
|
||||||
value = 1.0
|
|
||||||
script = ExtResource("3_hpms0")
|
|
||||||
|
|
||||||
[node name="Agility" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Agillity" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(520, 50)
|
custom_minimum_size = Vector2(520, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 2
|
||||||
|
|
||||||
[node name="AgilityLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Agility"]
|
[node name="AgillityLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Agillity"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Agillity"
|
text = "Agillity"
|
||||||
@ -264,20 +228,19 @@ drag_and_drop_selection_enabled = false
|
|||||||
virtual_keyboard_enabled = false
|
virtual_keyboard_enabled = false
|
||||||
middle_mouse_paste_enabled = false
|
middle_mouse_paste_enabled = false
|
||||||
|
|
||||||
[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Agility"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Agillity"]
|
||||||
|
clip_contents = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = 1.0
|
size_flags_horizontal = 3
|
||||||
max_value = 10.0
|
placeholder_text = "0"
|
||||||
value = 1.0
|
|
||||||
script = ExtResource("3_hpms0")
|
|
||||||
|
|
||||||
[node name="Luck" type="HBoxContainer" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Luck" type="HBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(520, 50)
|
custom_minimum_size = Vector2(520, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 2
|
||||||
|
|
||||||
[node name="LuckLabel" type="TextEdit" parent="MainMenu/MainMenuCanvas/VBoxContainer/Luck"]
|
[node name="LuckLabel" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Luck"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Luck"
|
text = "Luck"
|
||||||
@ -290,25 +253,25 @@ drag_and_drop_selection_enabled = false
|
|||||||
virtual_keyboard_enabled = false
|
virtual_keyboard_enabled = false
|
||||||
middle_mouse_paste_enabled = false
|
middle_mouse_paste_enabled = false
|
||||||
|
|
||||||
[node name="SpinBox" type="SpinBox" parent="MainMenu/MainMenuCanvas/VBoxContainer/Luck"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Luck"]
|
||||||
|
clip_contents = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = 1.0
|
size_flags_horizontal = 3
|
||||||
max_value = 10.0
|
placeholder_text = "0"
|
||||||
value = 1.0
|
|
||||||
script = ExtResource("3_hpms0")
|
|
||||||
|
|
||||||
[node name="Playbutton" type="Button" parent="MainMenu/MainMenuCanvas/VBoxContainer"]
|
[node name="Playbutton" type="Button" parent="Hauptmenü/HauptMenü/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
text = " PLAY "
|
text = " PLAY "
|
||||||
script = ExtResource("3_ucfae")
|
script = ExtResource("3_ucfae")
|
||||||
|
|
||||||
[node name="Ingame" type="Node2D" parent="."]
|
[node name="Ingame" type="Node2D" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton"]
|
||||||
|
position = Vector2(-699, -1003)
|
||||||
|
|
||||||
[node name="IngameCanvas" type="CanvasLayer" parent="Ingame"]
|
[node name="Ingame" type="CanvasLayer" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame"]
|
||||||
|
|
||||||
[node name="Eingabe" type="VBoxContainer" parent="Ingame/IngameCanvas"]
|
[node name="Eingabe" type="VBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame"]
|
||||||
anchors_preset = 12
|
anchors_preset = 12
|
||||||
anchor_top = 1.0
|
anchor_top = 1.0
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@ -319,11 +282,12 @@ grow_horizontal = 2
|
|||||||
grow_vertical = 0
|
grow_vertical = 0
|
||||||
size_flags_vertical = 0
|
size_flags_vertical = 0
|
||||||
|
|
||||||
[node name="TextEdit" type="TextEdit" parent="Ingame/IngameCanvas/Eingabe"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Eingabe"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
|
script = ExtResource("1_5gfrp")
|
||||||
|
|
||||||
[node name="Story" type="VBoxContainer" parent="Ingame/IngameCanvas"]
|
[node name="Story" type="VBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame"]
|
||||||
anchors_preset = 11
|
anchors_preset = 11
|
||||||
anchor_left = 1.0
|
anchor_left = 1.0
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@ -333,7 +297,7 @@ grow_horizontal = 0
|
|||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
size_flags_horizontal = 8
|
size_flags_horizontal = 8
|
||||||
|
|
||||||
[node name="TextEdit" type="TextEdit" parent="Ingame/IngameCanvas/Story"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Story"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
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."
|
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."
|
||||||
@ -341,7 +305,7 @@ editable = false
|
|||||||
context_menu_enabled = false
|
context_menu_enabled = false
|
||||||
wrap_mode = 1
|
wrap_mode = 1
|
||||||
|
|
||||||
[node name="Stats" type="VBoxContainer" parent="Ingame/IngameCanvas"]
|
[node name="Stats" type="VBoxContainer" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame"]
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
@ -351,13 +315,7 @@ offset_bottom = -360.0
|
|||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
|
||||||
[node name="Name" type="TextEdit" parent="Ingame/IngameCanvas/Stats"]
|
[node name="TextEdit" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/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
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
placeholder_text = "SampleStat = 1
|
placeholder_text = "SampleStat = 1
|
||||||
@ -365,43 +323,43 @@ placeholder_text = "SampleStat = 1
|
|||||||
editable = false
|
editable = false
|
||||||
context_menu_enabled = false
|
context_menu_enabled = false
|
||||||
|
|
||||||
[node name="Perception" type="TextEdit" parent="Ingame/IngameCanvas/Stats"]
|
[node name="TextEdit2" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
editable = false
|
editable = false
|
||||||
context_menu_enabled = false
|
context_menu_enabled = false
|
||||||
|
|
||||||
[node name="Endurance" type="TextEdit" parent="Ingame/IngameCanvas/Stats"]
|
[node name="TextEdit3" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
editable = false
|
editable = false
|
||||||
context_menu_enabled = false
|
context_menu_enabled = false
|
||||||
|
|
||||||
[node name="Charisma" type="TextEdit" parent="Ingame/IngameCanvas/Stats"]
|
[node name="TextEdit4" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
editable = false
|
editable = false
|
||||||
context_menu_enabled = false
|
context_menu_enabled = false
|
||||||
|
|
||||||
[node name="Intelligence" type="TextEdit" parent="Ingame/IngameCanvas/Stats"]
|
[node name="TextEdit5" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
editable = false
|
editable = false
|
||||||
context_menu_enabled = false
|
context_menu_enabled = false
|
||||||
|
|
||||||
[node name="Agility" type="TextEdit" parent="Ingame/IngameCanvas/Stats"]
|
[node name="TextEdit6" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
editable = false
|
editable = false
|
||||||
context_menu_enabled = false
|
context_menu_enabled = false
|
||||||
|
|
||||||
[node name="Luck" type="TextEdit" parent="Ingame/IngameCanvas/Stats"]
|
[node name="TextEdit7" type="TextEdit" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame/Stats"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
editable = false
|
editable = false
|
||||||
context_menu_enabled = false
|
context_menu_enabled = false
|
||||||
|
|
||||||
[node name="Szenerie" type="TextureRect" parent="Ingame/IngameCanvas"]
|
[node name="Szenerie" type="TextureRect" parent="Hauptmenü/HauptMenü/VBoxContainer/Playbutton/Ingame/Ingame"]
|
||||||
offset_left = -3.0
|
offset_left = -3.0
|
||||||
offset_top = -1.0
|
offset_top = -1.0
|
||||||
offset_right = 1277.0
|
offset_right = 1277.0
|
||||||
@ -411,4 +369,8 @@ expand_mode = 1
|
|||||||
stretch_mode = 1
|
stretch_mode = 1
|
||||||
|
|
||||||
[node name="LLMApiRequests" type="HTTPRequest" parent="."]
|
[node name="LLMApiRequests" type="HTTPRequest" parent="."]
|
||||||
script = ExtResource("4_ff2gi")
|
script = ExtResource("5_pukni")
|
||||||
|
|
||||||
|
[node name="Button" type="Button" parent="."]
|
||||||
|
offset_right = 8.0
|
||||||
|
offset_bottom = 8.0
|
||||||
|
Reference in New Issue
Block a user