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="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"]
|
[ext_resource type="Script" uid="uid://klufydtxtbjy" path="res://scripts/MainMenu.gd" id="1_yqorp"]
|
||||||
|
[ext_resource type="Script" uid="uid://ebdck5q0ra7i" path="res://scripts/NumberEdit.gd" id="3_2wh52"]
|
||||||
[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_2wh52"]
|
[sub_resource type="Animation" id="Animation_2wh52"]
|
||||||
length = 0.001
|
length = 0.001
|
||||||
@ -202,6 +151,58 @@ tracks/11/keys = {
|
|||||||
"values": [Vector2(366, 334)]
|
"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"]
|
[sub_resource type="Animation" id="Animation_ow34m"]
|
||||||
resource_name = "ShowScores"
|
resource_name = "ShowScores"
|
||||||
length = 0.2
|
length = 0.2
|
||||||
@ -388,7 +389,7 @@ anchor_bottom = 0.5
|
|||||||
offset_left = -183.0
|
offset_left = -183.0
|
||||||
offset_top = 593.0
|
offset_top = 593.0
|
||||||
offset_right = 183.0
|
offset_right = 183.0
|
||||||
offset_bottom = 927.0
|
offset_bottom = 932.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
scale = Vector2(0.1, 1)
|
scale = Vector2(0.1, 1)
|
||||||
@ -457,12 +458,17 @@ max_value = 30.0
|
|||||||
value = 10.0
|
value = 10.0
|
||||||
rounded = true
|
rounded = true
|
||||||
|
|
||||||
[node name="Counter" type="RichTextLabel" parent="PlayMenu/MarginContainer/VBoxContainer/Width"]
|
[node name="Counter" type="LineEdit" parent="PlayMenu/MarginContainer/VBoxContainer/Width"]
|
||||||
custom_minimum_size = Vector2(30, 0)
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
bbcode_enabled = true
|
text = "10"
|
||||||
text = "[center]10[/center]"
|
alignment = 1
|
||||||
fit_content = true
|
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"]
|
[node name="Height" type="HBoxContainer" parent="PlayMenu/MarginContainer/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
@ -537,7 +543,7 @@ anchor_bottom = 0.5
|
|||||||
offset_left = -183.0
|
offset_left = -183.0
|
||||||
offset_top = 593.0
|
offset_top = 593.0
|
||||||
offset_right = 183.0
|
offset_right = 183.0
|
||||||
offset_bottom = 927.0
|
offset_bottom = 1000.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
scale = Vector2(0.1, 1)
|
scale = Vector2(0.1, 1)
|
||||||
@ -897,7 +903,7 @@ anchor_bottom = 0.5
|
|||||||
offset_left = -183.0
|
offset_left = -183.0
|
||||||
offset_top = 593.0
|
offset_top = 593.0
|
||||||
offset_right = 183.0
|
offset_right = 183.0
|
||||||
offset_bottom = 927.0
|
offset_bottom = 2692.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
scale = Vector2(0.1, 1)
|
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