feat: added clock

This commit is contained in:
Gerard Gascón 2025-04-09 18:43:34 +02:00
parent c422a83f59
commit c5dcf3d9d1
9 changed files with 103 additions and 1 deletions

14
scenes/clock/clock.gd Normal file
View file

@ -0,0 +1,14 @@
extends Label
func _process(delta: float) -> void:
var time: Dictionary = Time.get_time_dict_from_system()
var hour: int = time['hour']
var minute: int = time['minute']
var second: int = time['second']
if second % 2 == 0:
text = "%02d:%02d" % [hour, minute]
else:
text = "%02d %02d" % [hour, minute]

View file

@ -0,0 +1 @@
uid://drnne01ksnlqv

41
scenes/clock/clock.tscn Normal file
View file

@ -0,0 +1,41 @@
[gd_scene load_steps=4 format=3 uid="uid://bj5ptaniasaaj"]
[ext_resource type="Script" uid="uid://ddsdlhbepjrm3" path="res://scenes/clock/day.gd" id="1_4o2gw"]
[ext_resource type="Script" uid="uid://catrd7ir3ekyj" path="res://scenes/clock/clock_window.gd" id="1_yxh3l"]
[ext_resource type="Script" uid="uid://drnne01ksnlqv" path="res://scenes/clock/clock.gd" id="2_ngmfe"]
[node name="Clock" type="Window"]
transparent_bg = true
size = Vector2i(200, 100)
unresizable = true
borderless = true
transparent = true
script = ExtResource("1_yxh3l")
[node name="ColorRect" type="ColorRect" parent="."]
offset_right = 200.0
offset_bottom = 100.0
color = Color(0, 0.5, 0.2, 1)
[node name="Clock" type="Label" parent="."]
offset_right = 146.0
offset_bottom = 49.0
theme_override_font_sizes/font_size = 41
text = "00:00"
script = ExtResource("2_ngmfe")
[node name="Coins" type="Label" parent="."]
offset_left = 126.0
offset_right = 200.0
offset_bottom = 57.0
theme_override_font_sizes/font_size = 41
text = "00"
horizontal_alignment = 2
[node name="Day" type="Label" parent="."]
offset_top = 65.0
offset_right = 146.0
offset_bottom = 100.0
theme_override_font_sizes/font_size = 25
text = "dl. 23-04"
script = ExtResource("1_4o2gw")

View file

@ -0,0 +1,15 @@
extends Window
func _ready() -> void:
move_window_to_top_right()
func move_window_to_top_right():
var display_index: int = DisplayServer.window_get_current_screen()
var work_area_position: Vector2i = DisplayServer.screen_get_usable_rect(display_index).position
var work_area_size: Vector2i = DisplayServer.screen_get_usable_rect(display_index).size
var offset: int = 30
position = work_area_position + Vector2i(work_area_size.x - size.x - offset, offset)

View file

@ -0,0 +1 @@
uid://catrd7ir3ekyj

22
scenes/clock/day.gd Normal file
View file

@ -0,0 +1,22 @@
extends Label
const _weekday_converter: Dictionary[int, String] = {
0: 'Dg.',
1: 'Dl.',
2: 'Dm.',
3: 'Dc.',
4: 'Dj.',
5: 'Dv.',
6: 'Ds.',
}
func _process(delta: float) -> void:
var time: Dictionary = Time.get_date_dict_from_system()
var weekday: int = time['weekday']
var month: int = time['month']
var day: int = time['day']
text = "%s %02d/%02d" % [_weekday_converter[weekday], day, month]

1
scenes/clock/day.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://ddsdlhbepjrm3