From 69c3e6f396095a85b16afb7d657c89b28a3ecc1b Mon Sep 17 00:00:00 2001 From: vaporvee Date: Thu, 16 Oct 2025 00:54:49 +0200 Subject: [PATCH] event system and keyboard --- assets/fonts/monogram-extended.ttf | Bin 0 -> 59008 bytes assets/fonts/monogram-extended.ttf.import | 36 +++++ project.godot | 8 +- scenes/levels/home.tscn | 84 ++++++++++++ scenes/menus/profile_creator.tscn | 6 +- scenes/menus/util/keyboard.tscn | 159 ++++++++++++++++++++++ scripts/autoloads/nodes/event_manager.gd | 20 ++- scripts/menus/profile_creator.gd | 2 +- scripts/menus/util/keyboard.gd | 1 + scripts/menus/util/keyboard.gd.uid | 1 + scripts/player.gd | 2 + 11 files changed, 313 insertions(+), 6 deletions(-) create mode 100644 assets/fonts/monogram-extended.ttf create mode 100644 assets/fonts/monogram-extended.ttf.import create mode 100644 scenes/levels/home.tscn create mode 100644 scenes/menus/util/keyboard.tscn create mode 100644 scripts/menus/util/keyboard.gd create mode 100644 scripts/menus/util/keyboard.gd.uid diff --git a/assets/fonts/monogram-extended.ttf b/assets/fonts/monogram-extended.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e1debf0fd34aa5f788d33dbf6b37c273c8cc8443 GIT binary patch literal 59008 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 Gr~f~BJ%ow? literal 0 HcmV?d00001 diff --git a/assets/fonts/monogram-extended.ttf.import b/assets/fonts/monogram-extended.ttf.import new file mode 100644 index 0000000..7bc6620 --- /dev/null +++ b/assets/fonts/monogram-extended.ttf.import @@ -0,0 +1,36 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://s0mghd0bccm0" +path="res://.godot/imported/monogram-extended.ttf-d0e25f0152286e72083f4de361724351.fontdata" + +[deps] + +source_file="res://assets/fonts/monogram-extended.ttf" +dest_files=["res://.godot/imported/monogram-extended.ttf-d0e25f0152286e72083f4de361724351.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +modulate_color_glyphs=false +hinting=1 +subpixel_positioning=4 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/project.godot b/project.godot index 34b4194..bfb721c 100644 --- a/project.godot +++ b/project.godot @@ -35,7 +35,6 @@ window/size/viewport_height=200 window/size/window_width_override=1152 window/size/window_height_override=640 window/stretch/mode="viewport" -window/stretch/scale_mode="integer" display_server/driver.linuxbsd="wayland" window/size/mode.release=4 @@ -43,6 +42,13 @@ window/size/mode.release=4 enabled=PackedStringArray("res://addons/dialogue_manager/plugin.cfg") +[gui] + +fonts/dynamic_fonts/use_oversampling=false +theme/default_font_antialiasing=0 +theme/default_font_subpixel_positioning=0 +theme/custom_font="uid://s0mghd0bccm0" + [input] move_left={ diff --git a/scenes/levels/home.tscn b/scenes/levels/home.tscn new file mode 100644 index 0000000..a4417eb --- /dev/null +++ b/scenes/levels/home.tscn @@ -0,0 +1,84 @@ +[gd_scene load_steps=5 format=4 uid="uid://ccfdsdgaon63m"] + +[ext_resource type="PackedScene" uid="uid://dfbomt0l6b1o4" path="res://scenes/player.tscn" id="1_ikf4c"] +[ext_resource type="Texture2D" uid="uid://dve2b2glwitsw" path="res://assets/textures/tilemaps/grass_tilemap.png" id="1_q28r8"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_2vl8h"] +texture = ExtResource("1_q28r8") +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +3:0/0 = 0 +4:0/0 = 0 +5:0/0 = 0 +6:0/0 = 0 +7:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +3:1/0 = 0 +4:1/0 = 0 +5:1/0 = 0 +6:1/0 = 0 +7:1/0 = 0 +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +3:2/0 = 0 +4:2/0 = 0 +5:2/0 = 0 +6:2/0 = 0 +7:2/0 = 0 +0:3/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +3:3/0 = 0 +4:3/0 = 0 +5:3/0 = 0 +6:3/0 = 0 +7:3/0 = 0 +0:4/0 = 0 +1:4/0 = 0 +2:4/0 = 0 +3:4/0 = 0 +4:4/0 = 0 +5:4/0 = 0 +6:4/0 = 0 +7:4/0 = 0 +0:5/0 = 0 +1:5/0 = 0 +2:5/0 = 0 +3:5/0 = 0 +4:5/0 = 0 +5:5/0 = 0 +6:5/0 = 0 +7:5/0 = 0 +0:6/0 = 0 +1:6/0 = 0 +2:6/0 = 0 +3:6/0 = 0 +4:6/0 = 0 +5:6/0 = 0 +6:6/0 = 0 +7:6/0 = 0 +0:7/0 = 0 +1:7/0 = 0 +2:7/0 = 0 +3:7/0 = 0 +4:7/0 = 0 +5:7/0 = 0 +6:7/0 = 0 +7:7/0 = 0 + +[sub_resource type="TileSet" id="TileSet_ikf4c"] +sources/1 = SubResource("TileSetAtlasSource_2vl8h") + +[node name="Home" type="Node2D"] + +[node name="TileMapLayer" type="TileMapLayer" parent="."] +tile_map_data = PackedByteArray("AAAGAAMAAQACAAMAAAAGAAQAAQACAAMAAAAGAAUAAQACAAMAAAAGAAYAAQACAAMAAAAGAAcAAQACAAMAAAAGAAgAAQACAAMAAAAGAAkAAQACAAMAAAAGAAoAAQACAAMAAAAGAAsAAQACAAMAAAAGAAwAAQACAAMAAAAHAAMAAQACAAMAAAAHAAQAAQACAAMAAAAHAAUAAQACAAMAAAAHAAYAAQACAAMAAAAHAAcAAQACAAMAAAAHAAgAAQACAAMAAAAHAAkAAQACAAMAAAAHAAoAAQACAAMAAAAHAAsAAQACAAMAAAAHAAwAAQACAAMAAAAIAAMAAQACAAMAAAAIAAQAAQACAAMAAAAIAAUAAQACAAMAAAAIAAYAAQACAAMAAAAIAAcAAQACAAMAAAAIAAgAAQACAAMAAAAIAAkAAQACAAMAAAAIAAoAAQACAAMAAAAIAAsAAQACAAMAAAAIAAwAAQACAAMAAAAJAAMAAQACAAMAAAAJAAQAAQACAAMAAAAJAAUAAQACAAMAAAAJAAYAAQACAAMAAAAJAAcAAQACAAMAAAAJAAgAAQACAAMAAAAJAAkAAQACAAMAAAAJAAoAAQACAAMAAAAJAAsAAQACAAMAAAAJAAwAAQACAAMAAAAKAAMAAQACAAMAAAAKAAQAAQACAAMAAAAKAAUAAQACAAMAAAAKAAYAAQACAAMAAAAKAAcAAQACAAMAAAAKAAgAAQACAAMAAAAKAAkAAQACAAMAAAAKAAoAAQACAAMAAAAKAAsAAQACAAMAAAAKAAwAAQACAAMAAAALAAMAAQACAAMAAAALAAQAAQACAAMAAAALAAUAAQACAAMAAAALAAYAAQACAAMAAAALAAcAAQACAAMAAAALAAgAAQACAAMAAAALAAkAAQACAAMAAAALAAoAAQACAAMAAAALAAsAAQACAAMAAAALAAwAAQACAAMAAAAMAAMAAQACAAMAAAAMAAQAAQACAAMAAAAMAAUAAQACAAMAAAAMAAYAAQACAAMAAAAMAAcAAQACAAMAAAAMAAgAAQACAAMAAAAMAAkAAQACAAMAAAAMAAoAAQACAAMAAAAMAAsAAQACAAMAAAAMAAwAAQACAAMAAAANAAMAAQACAAMAAAANAAQAAQACAAMAAAANAAUAAQACAAMAAAANAAYAAQACAAMAAAANAAcAAQACAAMAAAANAAgAAQACAAMAAAANAAkAAQACAAMAAAANAAoAAQACAAMAAAANAAsAAQACAAMAAAANAAwAAQACAAMAAAAOAAMAAQACAAMAAAAOAAQAAQACAAMAAAAOAAUAAQACAAMAAAAOAAYAAQACAAMAAAAOAAcAAQACAAMAAAAOAAgAAQACAAMAAAAOAAkAAQACAAMAAAAOAAoAAQACAAMAAAAOAAsAAQACAAMAAAAOAAwAAQACAAMAAAAPAAMAAQACAAMAAAAPAAQAAQACAAMAAAAPAAUAAQACAAMAAAAPAAYAAQACAAMAAAAPAAcAAQACAAMAAAAPAAgAAQACAAMAAAAPAAkAAQACAAMAAAAPAAoAAQACAAMAAAAPAAsAAQACAAMAAAAPAAwAAQACAAMAAAA=") +tile_set = SubResource("TileSet_ikf4c") + +[node name="Player" parent="." node_paths=PackedStringArray("tilemap") instance=ExtResource("1_ikf4c")] +position = Vector2(180, 183) +tilemap = NodePath("../TileMapLayer") diff --git a/scenes/menus/profile_creator.tscn b/scenes/menus/profile_creator.tscn index 050fc99..0794886 100644 --- a/scenes/menus/profile_creator.tscn +++ b/scenes/menus/profile_creator.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=2 format=3 uid="uid://cd657k2lc3gyc"] +[gd_scene load_steps=3 format=3 uid="uid://cd657k2lc3gyc"] [ext_resource type="Script" uid="uid://cs1ylnivyrbc2" path="res://scripts/menus/profile_creator.gd" id="1_4xjd5"] +[ext_resource type="FontFile" uid="uid://s0mghd0bccm0" path="res://assets/fonts/monogram-extended.ttf" id="2_yd267"] [node name="ProfileCreator" type="Control"] layout_mode = 3 @@ -27,6 +28,7 @@ grow_vertical = 2 [node name="LineEdit" type="LineEdit" parent="VBoxContainer"] layout_mode = 2 +theme_override_fonts/font = ExtResource("2_yd267") placeholder_text = "Name him" editable = false context_menu_enabled = false @@ -44,14 +46,12 @@ alignment = 1 [node name="Back" type="Button" parent="VBoxContainer/HBoxContainer"] custom_minimum_size = Vector2(50, 0) layout_mode = 2 -theme_override_font_sizes/font_size = 8 text = "Back" [node name="Next" type="Button" parent="VBoxContainer/HBoxContainer"] custom_minimum_size = Vector2(50, 0) layout_mode = 2 size_flags_vertical = 4 -theme_override_font_sizes/font_size = 8 text = "Next" [connection signal="pressed" from="VBoxContainer/HBoxContainer/Back" to="." method="_on_back_button_pressed"] diff --git a/scenes/menus/util/keyboard.tscn b/scenes/menus/util/keyboard.tscn new file mode 100644 index 0000000..8938a06 --- /dev/null +++ b/scenes/menus/util/keyboard.tscn @@ -0,0 +1,159 @@ +[gd_scene load_steps=2 format=3 uid="uid://dn0lr1sbir3d3"] + +[ext_resource type="Script" uid="uid://bxquk4wo56r22" path="res://scripts/menus/util/keyboard.gd" id="1_xrtsm"] + +[node name="Keyboard" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +script = ExtResource("1_xrtsm") + +[node name="MainKeys" type="HFlowContainer" parent="."] +custom_minimum_size = Vector2(230, 100) +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -115.0 +offset_top = -50.0 +offset_right = 115.0 +offset_bottom = 50.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Button" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "A" + +[node name="Button2" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "B" + +[node name="Button3" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "C" + +[node name="Button4" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "D" + +[node name="Button5" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "E" + +[node name="Button6" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "F" + +[node name="Button7" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "G" + +[node name="Button8" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "H" + +[node name="Button9" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "I" + +[node name="Button10" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "J" + +[node name="Button11" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "K" + +[node name="Button12" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "L" + +[node name="Button13" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "M" + +[node name="Button14" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "N" + +[node name="Button15" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "O" + +[node name="Button16" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "P" + +[node name="Button17" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "Q" + +[node name="Button18" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "R" + +[node name="Button19" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "S" + +[node name="Button20" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "T" + +[node name="Button21" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "U" + +[node name="Button22" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "V" + +[node name="Button23" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "W" + +[node name="Button24" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "X" + +[node name="Button25" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "Y" + +[node name="Button26" type="Button" parent="MainKeys"] +custom_minimum_size = Vector2(22, 22) +layout_mode = 2 +text = "Z" diff --git a/scripts/autoloads/nodes/event_manager.gd b/scripts/autoloads/nodes/event_manager.gd index ae8f308..34d0ce4 100644 --- a/scripts/autoloads/nodes/event_manager.gd +++ b/scripts/autoloads/nodes/event_manager.gd @@ -1,6 +1,24 @@ extends Node var player_free: bool = true +var player: Player -func transition() -> void: +enum Events { NONE, PUMPKIN_CARVE, OUTSIDE_NORMAL } +var current_event: Events = Events.NONE + +func transition_start() -> void: pass + +func transition_end() -> void: + pass + +func run_event(event: Events, player_postion: Vector2 = Vector2.ZERO): + current_event = event + transition_start() + if player != null && player_postion != Vector2.ZERO: + player.position = player_postion + match event: + Events.PUMPKIN_CARVE: + get_tree().change_scene_to_file("uid://ccfdsdgaon63m") # scenes/levels/home.tscn + pass + transition_end() diff --git a/scripts/menus/profile_creator.gd b/scripts/menus/profile_creator.gd index 97119a1..9d95f6b 100644 --- a/scripts/menus/profile_creator.gd +++ b/scripts/menus/profile_creator.gd @@ -28,7 +28,7 @@ func update_name() -> void: next.text = "Finish" elif index > max_index: profile.save() - index = max_index + EventManager.run_event(EventManager.Events.PUMPKIN_CARVE) return else: next.text = "Next" diff --git a/scripts/menus/util/keyboard.gd b/scripts/menus/util/keyboard.gd new file mode 100644 index 0000000..e07a0bf --- /dev/null +++ b/scripts/menus/util/keyboard.gd @@ -0,0 +1 @@ +extends Control diff --git a/scripts/menus/util/keyboard.gd.uid b/scripts/menus/util/keyboard.gd.uid new file mode 100644 index 0000000..f726e13 --- /dev/null +++ b/scripts/menus/util/keyboard.gd.uid @@ -0,0 +1 @@ +uid://bxquk4wo56r22 diff --git a/scripts/player.gd b/scripts/player.gd index 4a93cc8..ce5785e 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -1,3 +1,4 @@ +class_name Player extends CharacterBody2D const SPEED: int = 800 @@ -9,6 +10,7 @@ var tilesize: int = 32 var position_limit_rect: Rect2 func _ready() -> void: + EventManager.player = self var used_tilemap_rect: Rect2i = tilemap.get_used_rect() tilesize = tilemap.tile_set.tile_size.x