diff --git a/scenes/clock/clock.gd b/scenes/clock/clock.gd new file mode 100644 index 0000000..fd3af8f --- /dev/null +++ b/scenes/clock/clock.gd @@ -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] diff --git a/scenes/clock/clock.gd.uid b/scenes/clock/clock.gd.uid new file mode 100644 index 0000000..65ab5a6 --- /dev/null +++ b/scenes/clock/clock.gd.uid @@ -0,0 +1 @@ +uid://drnne01ksnlqv diff --git a/scenes/clock/clock.tscn b/scenes/clock/clock.tscn new file mode 100644 index 0000000..110635b --- /dev/null +++ b/scenes/clock/clock.tscn @@ -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") diff --git a/scenes/clock/clock_window.gd b/scenes/clock/clock_window.gd new file mode 100644 index 0000000..adb1c05 --- /dev/null +++ b/scenes/clock/clock_window.gd @@ -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) diff --git a/scenes/clock/clock_window.gd.uid b/scenes/clock/clock_window.gd.uid new file mode 100644 index 0000000..4038aeb --- /dev/null +++ b/scenes/clock/clock_window.gd.uid @@ -0,0 +1 @@ +uid://catrd7ir3ekyj diff --git a/scenes/clock/day.gd b/scenes/clock/day.gd new file mode 100644 index 0000000..65d5e2d --- /dev/null +++ b/scenes/clock/day.gd @@ -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] diff --git a/scenes/clock/day.gd.uid b/scenes/clock/day.gd.uid new file mode 100644 index 0000000..67f642a --- /dev/null +++ b/scenes/clock/day.gd.uid @@ -0,0 +1 @@ +uid://ddsdlhbepjrm3 diff --git a/scenes/main.gd b/scenes/main.gd index 76353a0..0e59bee 100644 --- a/scenes/main.gd +++ b/scenes/main.gd @@ -6,6 +6,8 @@ class_name GameManager @export var dragon_ingame: PackedScene @export var dragon_spots: Array[Node2D] +@export var clock: PackedScene + var _filled_spots: Dictionary[Node2D, int] @export var hat_outfits: DragonOutfit @@ -33,6 +35,9 @@ func _ready(): move_window_to_bottom_right() _load_game() _queue_dragon_instantiation() + + var clock_window: Window = clock.instantiate() + add_child(clock_window) func _queue_dragon_instantiation(): diff --git a/scenes/main.tscn b/scenes/main.tscn index a10dd14..f1f53fe 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=14 format=3 uid="uid://ctytpqaed0yqx"] +[gd_scene load_steps=15 format=3 uid="uid://ctytpqaed0yqx"] [ext_resource type="Script" uid="uid://3kyt3shje5r1" path="res://scenes/main.gd" id="1_sugp2"] [ext_resource type="PackedScene" uid="uid://c7nfcgjxqeg7l" path="res://scenes/window/dragon_popup.tscn" id="2_jyhfs"] [ext_resource type="Texture2D" uid="uid://fdqnc2qrrvn1" path="res://assets/sprites/icon.svg" id="3_tbgi4"] [ext_resource type="Resource" uid="uid://cnhwn6kfcbjl5" path="res://assets/outfits/hats.tres" id="4_85g3d"] +[ext_resource type="PackedScene" uid="uid://bj5ptaniasaaj" path="res://scenes/clock/clock.tscn" id="4_a8y0u"] [ext_resource type="PackedScene" uid="uid://miutbdsgccd1" path="res://scenes/dragons/dragon.tscn" id="4_jyhfs"] [ext_resource type="Script" uid="uid://cj4l3a6a8ro0r" path="res://scenes/create_button.gd" id="4_tbgi4"] [ext_resource type="Resource" uid="uid://etegcak2sphs" path="res://assets/outfits/shirts.tres" id="5_choun"] @@ -19,6 +20,7 @@ script = ExtResource("1_sugp2") dragon_template = ExtResource("2_jyhfs") dragon_ingame = ExtResource("4_jyhfs") dragon_spots = [NodePath("DragonSpot1"), NodePath("DragonSpot2"), NodePath("DragonSpot3")] +clock = ExtResource("4_a8y0u") hat_outfits = ExtResource("4_85g3d") shirt_outfits = ExtResource("5_choun") shoes_outfits = ExtResource("6_ya4ey")