Compare commits

...

5 commits

Author SHA1 Message Date
0be63d9ac9 Updated TestingInterface
Updated code TestingInterface.
2025-09-27 02:25:34 -05:00
3931f059db Updated LabelLineEdit
Changed to use Source Generators.
2025-09-27 02:25:14 -05:00
b4f6258d5f Updated project.godot
Set Main Scene
Updated configuration to have C# Configuration.
2025-09-27 02:24:43 -05:00
a46dfa0a8d Update Gitignore
Added ignore for .DotSettings.user file.
2025-09-27 02:24:16 -05:00
51f8b73306 Updated CSProj
Changed Compiler language to 13.0
Removed GodotSharpExtras in favor for GodotSharp.SourceGenerators.
2025-09-27 02:23:17 -05:00
6 changed files with 93 additions and 11 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
.godot/ .godot/
.idea/ .idea/
*.DotSettings.user

View file

@ -1,23 +1,45 @@
using Godot; using Godot;
using System; using System;
[GlobalClass] [GlobalClass, Tool]
public partial class LabelLineEdit : HBoxContainer public partial class LabelLineEdit : HBoxContainer
{ {
#region Exports [Export, Notify] public partial string Label { get; set; }
#endregion [Export, Notify] public partial string Text { get; set; }
[Export, Notify] public partial int Spacing { get; set; }
#region Nodes [Export, Notify] public partial bool Password { get; set; }
private Label _labelNode; private Label _labelNode;
private LineEdit _lineEdit; private LineEdit _lineEdit;
#endregion
public LabelLineEdit() public LabelLineEdit()
{ {
_labelNode = new Label(); Spacing = 4;
_lineEdit = new LineEdit(); }
[GodotOverride]
private void OnReady()
{
_labelNode ??= new Label();
_lineEdit ??= new LineEdit();
_lineEdit.SizeFlagsHorizontal = SizeFlags.ExpandFill; _lineEdit.SizeFlagsHorizontal = SizeFlags.ExpandFill;
AddChild(_labelNode); AddChild(_labelNode);
AddChild(_lineEdit); AddChild(_lineEdit);
_labelNode.Text = Label;
_lineEdit.Text = Text;
_lineEdit.Secret = Password;
LabelChanged += () => _labelNode.Text = Label;
TextChanged += () => _lineEdit.Text = Text;
PasswordChanged += () => _lineEdit.Secret = Password;
SpacingChanged += () => AddThemeConstantOverride("separation", Spacing);
_lineEdit.TextChanged += async value =>
{
var pos = _lineEdit.GetCaretColumn();
Text = value;
await ToSignal(GetTree(), SceneTree.SignalName.ProcessFrame);
_lineEdit.SetCaretColumn(pos);
};
} }
public override partial void _Ready();
} }

View file

@ -3,11 +3,12 @@
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net9.0</TargetFramework> <TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net9.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading> <EnableDynamicLoading>true</EnableDynamicLoading>
<LangVersion>13</LangVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="GodotSharpExtras" Version="0.5.0" /> <PackageReference Include="GodotSharp.SourceGenerators" Version="2.6.0" />
<PackageReference Include="Jellyfin.Sdk" Version="2024.10.28" /> <PackageReference Include="Jellyfin.Sdk" Version="2024.10.28" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.1" /> <PackageReference Include="Microsoft.Extensions.Http" Version="8.0.1" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View file

@ -1,5 +1,13 @@
using Godot; using Godot;
[SceneTree(root: "Nodes")]
public partial class TestingInterface : Control public partial class TestingInterface : Control
{ {
[GodotOverride]
void OnReady()
{
GD.Print("TestingInterface::OnReady");
}
public override partial void _Ready();
} }

49
TestingInterface.tscn Normal file
View file

@ -0,0 +1,49 @@
[gd_scene load_steps=3 format=3 uid="uid://b6v8kn5pjdd1b"]
[ext_resource type="Script" uid="uid://demxhjphd8gkg" path="res://TestingInterface.cs" id="1_1mh2b"]
[ext_resource type="Script" uid="uid://c3juujxln4m38" path="res://Library/UI/LabelLineEdit.cs" id="2_a7i77"]
[node name="TestingInterface" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_1mh2b")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="ServerUrl" type="HBoxContainer" parent="VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 10
script = ExtResource("2_a7i77")
Label = "Server URL:"
Spacing = 10
metadata/_custom_type_script = "uid://c3juujxln4m38"
[node name="Username" type="HBoxContainer" parent="VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 14
script = ExtResource("2_a7i77")
Label = "Username:"
Spacing = 14
metadata/_custom_type_script = "uid://c3juujxln4m38"
[node name="Password" type="HBoxContainer" parent="VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 20
script = ExtResource("2_a7i77")
Label = "Password:"
Spacing = 20
Password = true
metadata/_custom_type_script = "uid://c3juujxln4m38"

View file

@ -12,7 +12,8 @@ config_version=5
config/name="MediaPortal" config/name="MediaPortal"
config/description="Enter an interesting project description here!" config/description="Enter an interesting project description here!"
config/features=PackedStringArray("4.5") run/main_scene="uid://b6v8kn5pjdd1b"
config/features=PackedStringArray("4.5", "C#")
config/icon="res://icon.png" config/icon="res://icon.png"
[dotnet] [dotnet]