Started writing custom UI element. Basically a line edit that validates input against some regex
This commit is contained in:
parent
09fb20ad19
commit
b33ff60e64
@ -1,59 +1,8 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://df8hwr5ra06wb"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://df8hwr5ra06wb"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://yag0j3f13um7" path="res://themes/main.tres" id="1_0ykhv"]
|
||||
[ext_resource type="Script" uid="uid://klufydtxtbjy" path="res://scripts/MainMenu.gd" id="1_yqorp"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0ykhv"]
|
||||
resource_name = "ShowPlay"
|
||||
length = 0.2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("PlayMenu:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.01),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("PlayMenu:scale")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0.1, 1), Vector2(0.1, 1), Vector2(1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("PlayMenu:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(393, 917), Vector2(393, 157)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("PlayMenu:size")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(366, 334), Vector2(366, 334)]
|
||||
}
|
||||
[ext_resource type="Script" uid="uid://ebdck5q0ra7i" path="res://scripts/NumberEdit.gd" id="3_2wh52"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2wh52"]
|
||||
length = 0.001
|
||||
@ -202,6 +151,58 @@ tracks/11/keys = {
|
||||
"values": [Vector2(366, 334)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0ykhv"]
|
||||
resource_name = "ShowPlay"
|
||||
length = 0.2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("PlayMenu:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.01),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("PlayMenu:scale")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0.1, 1), Vector2(0.1, 1), Vector2(1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("PlayMenu:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(393, 917), Vector2(393, 157)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("PlayMenu:size")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(366, 334), Vector2(366, 334)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ow34m"]
|
||||
resource_name = "ShowScores"
|
||||
length = 0.2
|
||||
@ -388,7 +389,7 @@ anchor_bottom = 0.5
|
||||
offset_left = -183.0
|
||||
offset_top = 593.0
|
||||
offset_right = 183.0
|
||||
offset_bottom = 927.0
|
||||
offset_bottom = 932.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
scale = Vector2(0.1, 1)
|
||||
@ -457,12 +458,17 @@ max_value = 30.0
|
||||
value = 10.0
|
||||
rounded = true
|
||||
|
||||
[node name="Counter" type="RichTextLabel" parent="PlayMenu/MarginContainer/VBoxContainer/Width"]
|
||||
custom_minimum_size = Vector2(30, 0)
|
||||
[node name="Counter" type="LineEdit" parent="PlayMenu/MarginContainer/VBoxContainer/Width"]
|
||||
layout_mode = 2
|
||||
bbcode_enabled = true
|
||||
text = "[center]10[/center]"
|
||||
fit_content = true
|
||||
text = "10"
|
||||
alignment = 1
|
||||
max_length = 2
|
||||
emoji_menu_enabled = false
|
||||
virtual_keyboard_type = 2
|
||||
flat = true
|
||||
select_all_on_focus = true
|
||||
caret_blink = true
|
||||
script = ExtResource("3_2wh52")
|
||||
|
||||
[node name="Height" type="HBoxContainer" parent="PlayMenu/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
@ -537,7 +543,7 @@ anchor_bottom = 0.5
|
||||
offset_left = -183.0
|
||||
offset_top = 593.0
|
||||
offset_right = 183.0
|
||||
offset_bottom = 927.0
|
||||
offset_bottom = 1000.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
scale = Vector2(0.1, 1)
|
||||
@ -897,7 +903,7 @@ anchor_bottom = 0.5
|
||||
offset_left = -183.0
|
||||
offset_top = 593.0
|
||||
offset_right = 183.0
|
||||
offset_bottom = 927.0
|
||||
offset_bottom = 2692.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
scale = Vector2(0.1, 1)
|
||||
|
12
minesweeper/scripts/NumberEdit.gd
Normal file
12
minesweeper/scripts/NumberEdit.gd
Normal file
@ -0,0 +1,12 @@
|
||||
class_name RegexEdit extends LineEdit
|
||||
|
||||
@export var regexPattern: String = "^[0-9]{0,2}"
|
||||
|
||||
var regex: RegEx = RegEx.new()
|
||||
var oldText: String = "10"
|
||||
|
||||
func _enter_tree() -> void:
|
||||
connect("text_changed", textChanged)
|
||||
|
||||
func textChanged(newText: String) -> void:
|
||||
pass
|
1
minesweeper/scripts/NumberEdit.gd.uid
Normal file
1
minesweeper/scripts/NumberEdit.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://ebdck5q0ra7i
|
Loading…
x
Reference in New Issue
Block a user