year seleciton, day, hour

This commit is contained in:
Aada 2026-03-07 10:46:30 +02:00
parent a0504e74e9
commit ce7159c17a
2 changed files with 33 additions and 10 deletions

View file

@ -129,23 +129,39 @@ theme_override_constants/margin_bottom = 8
[node name="VBoxContainer" type="VBoxContainer" parent="TabContainer/Planet/VBoxContainer/MarginContainer" unique_id=781791664] [node name="VBoxContainer" type="VBoxContainer" parent="TabContainer/Planet/VBoxContainer/MarginContainer" unique_id=781791664]
layout_mode = 2 layout_mode = 2
[node name="Label" type="Label" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=882691555] [node name="HBoxContainer" type="HBoxContainer" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=49483855]
layout_mode = 2 layout_mode = 2
text = "Sun Angle"
[node name="VBoxContainer" type="VBoxContainer" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=1196190097]
layout_mode = 2
size_flags_horizontal = 3
[node name="Label" type="Label" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer" unique_id=882691555]
layout_mode = 2
text = "Day"
horizontal_alignment = 1 horizontal_alignment = 1
[node name="SunAngle" type="HSlider" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=1452623828] [node name="SunAngle" type="HSlider" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer" unique_id=1452623828]
unique_name_in_owner = true unique_name_in_owner = true
layout_mode = 2 layout_mode = 2
max_value = 365.0 max_value = 365.0
tick_count = 14 tick_count = 14
[node name="Label" type="Label" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=536127746]
layout_mode = 2
text = "Year: "
[node name="Year" type="LineEdit" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=2071686901]
unique_name_in_owner = true
layout_mode = 2
text = "1922"
[node name="HSeparator" type="HSeparator" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=1053749080] [node name="HSeparator" type="HSeparator" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=1053749080]
layout_mode = 2 layout_mode = 2
[node name="Label2" type="Label" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=473804807] [node name="Label2" type="Label" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=473804807]
layout_mode = 2 layout_mode = 2
text = "Planet Rotation" text = "Hour"
horizontal_alignment = 1 horizontal_alignment = 1
[node name="PlanetAngle" type="HSlider" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=1574475714] [node name="PlanetAngle" type="HSlider" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=1574475714]
@ -153,7 +169,7 @@ unique_name_in_owner = true
layout_mode = 2 layout_mode = 2
max_value = 24.0 max_value = 24.0
step = 0.25 step = 0.25
tick_count = 3 tick_count = 5
[node name="PanelContainer" type="PanelContainer" parent="TabContainer/Planet" unique_id=716838825] [node name="PanelContainer" type="PanelContainer" parent="TabContainer/Planet" unique_id=716838825]
layout_mode = 2 layout_mode = 2
@ -368,8 +384,9 @@ metadata/_tab_index = 1
[connection signal="tab_changed" from="TabContainer" to="." method="Tab"] [connection signal="tab_changed" from="TabContainer" to="." method="Tab"]
[connection signal="mouse_entered" from="TabContainer/Planet/VBoxContainer/SubViewportContainer" to="." method="MouseInViewport"] [connection signal="mouse_entered" from="TabContainer/Planet/VBoxContainer/SubViewportContainer" to="." method="MouseInViewport"]
[connection signal="mouse_exited" from="TabContainer/Planet/VBoxContainer/SubViewportContainer" to="." method="MouseLeftViewport"] [connection signal="mouse_exited" from="TabContainer/Planet/VBoxContainer/SubViewportContainer" to="." method="MouseLeftViewport"]
[connection signal="drag_ended" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/SunAngle" to="." method="SunAngleStop"] [connection signal="drag_ended" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/SunAngle" to="." method="SunAngleStop"]
[connection signal="drag_started" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/SunAngle" to="." method="SunAngleStart"] [connection signal="drag_started" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/SunAngle" to="." method="SunAngleStart"]
[connection signal="text_changed" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/Year" to="." method="YearChanged"]
[connection signal="drag_ended" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/PlanetAngle" to="." method="PlanetAngleStop"] [connection signal="drag_ended" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/PlanetAngle" to="." method="PlanetAngleStop"]
[connection signal="drag_started" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/PlanetAngle" to="." method="PlanetAngleStart"] [connection signal="drag_started" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/PlanetAngle" to="." method="PlanetAngleStart"]
[connection signal="text_changed" from="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer2/HBoxContainer/AxialTilt" to="." method="AxialTiltChanged"] [connection signal="text_changed" from="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer2/HBoxContainer/AxialTilt" to="." method="AxialTiltChanged"]

View file

@ -149,7 +149,7 @@ public partial class Main : Control
{ {
double hours = GetLocalTime(GetNode<Node3D>("%Pointer").GlobalPosition, GetNode<Node3D>("%Sun").GlobalTransform.Basis.Z, double hours = GetLocalTime(GetNode<Node3D>("%Pointer").GlobalPosition, GetNode<Node3D>("%Sun").GlobalTransform.Basis.Z,
_meshInstance); _meshInstance);
GetNode<Label>("%LocalTime").Text = DaysToTime(_sunRotation * 365.0, hours); GetNode<Label>("%LocalTime").Text = DaysToDate(_sunRotation * 365.0, hours);
GetNode<Label>("%Date").Text = DaysToDate(_sunRotation * 365.0, _planetRotation*24.0); GetNode<Label>("%Date").Text = DaysToDate(_sunRotation * 365.0, _planetRotation*24.0);
} }
@ -177,18 +177,24 @@ public partial class Main : Control
public string DaysToDate(double days, double hours) public string DaysToDate(double days, double hours)
{ {
DateTime dt = new DateTime(1, 1, 1); DateTime dt = new DateTime(int.Parse(GetNode<LineEdit>("%Year").Text), 1, 1);
dt = dt.AddDays(days); dt = dt.AddDays(days);
dt = dt.AddHours(hours); dt = dt.AddHours(hours);
return dt.ToString("'y'yyyy/'m'MM/'d'dd - 'h'HH':''m'mm':''s'ss"); return dt.ToString("'y'yyyy/'m'MM/'d'dd - 'h'HH':''m'mm':''s'ss");
} }
public string DaysToTime(double days, double hours) public string DaysToTime(double days, double hours)
{ {
DateTime dt = new DateTime(1, 1, 1); DateTime dt = new DateTime(int.Parse(GetNode<LineEdit>("%Year").Text), 1, 1);
dt = dt.AddDays(days); dt = dt.AddDays(days);
dt = dt.AddHours(hours); dt = dt.AddHours(hours);
return dt.ToString("'h'HH':''m'mm':''s'ss"); return dt.ToString("'h'HH':''m'mm':''s'ss");
} }
public void YearChanged(string year)
{
if (int.TryParse(year, out _))
UpdateTime();
}
public void UpdateStats() public void UpdateStats()
{ {
if (_vertex != null) if (_vertex != null)