Merge branch 'master-lepshiy'
This commit is contained in:
3
connect-to-uf.sh
Normal file
3
connect-to-uf.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
xfreerdp /u:user /p:12345678 /v:10.1.1.2 /f
|
||||
@@ -199,7 +199,6 @@ shader_parameter/ant_band_r1_0 = 0.5
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lkrha"]
|
||||
shader = ExtResource("3_2a1qb")
|
||||
shader_parameter/ColorFig = Color(0, 0.862745, 0, 1)
|
||||
shader_parameter/point_1 = Vector2(0.125, 0)
|
||||
shader_parameter/point_2 = Vector2(0.125, 0.036)
|
||||
shader_parameter/point_3 = Vector2(0, 0.125)
|
||||
|
||||
@@ -4,7 +4,7 @@ class_name scroll_ecm_params extends ScrollContainer
|
||||
|
||||
const CellLineEdit = preload('res://table/ячейка-2.tscn') ## Ячейка таблицы.
|
||||
const TableHeader = preload('res://table/header.tscn') ## Ячейка заголовок таблицы.
|
||||
const CellTaggleBtn = preload('res://table/taggle.tscn')
|
||||
const CellTaggleBtn = preload('res://table/set_taggle.tscn')
|
||||
|
||||
const TABLE_HEADER = [ TableHeader, TableHeader ] ## Описание ряда заголовка.
|
||||
const TABLE_ROW = [ CellLineEdit, CellLineEdit ] ## Описание ряда.
|
||||
@@ -38,13 +38,13 @@ func init_table():
|
||||
$table.set_node_alligment(0, MOD_ROW_INDEX, HORIZONTAL_ALIGNMENT_LEFT)
|
||||
$table.set_node_editable(0, MOD_ROW_INDEX, false)
|
||||
var taggle_node = $table.get_node2(1, MOD_ROW_INDEX)
|
||||
for item in taggle_node.get_children():
|
||||
item.size.x = 85
|
||||
item.size.y = 25
|
||||
item.position.x = 0
|
||||
item.position.y = 0
|
||||
taggle_node.size.x = 85
|
||||
taggle_node.size.y = 25
|
||||
#for item in taggle_node.get_children():
|
||||
#item.size.x = 85
|
||||
#item.size.y = 25
|
||||
#item.position.x = 0
|
||||
#item.position.y = 0
|
||||
#taggle_node.size.x = 85
|
||||
#taggle_node.size.y = 25
|
||||
var taggle_btn = taggle_node.get_children()[1]
|
||||
taggle_btn.connect('pressed', on_taggle_btn.bind(taggle_btn))
|
||||
taggle_btn.disabled = true
|
||||
|
||||
@@ -1,10 +1,60 @@
|
||||
class_name setting extends Panel
|
||||
|
||||
var TableHeader = preload('res://table/header.tscn')
|
||||
var TableLabel = preload('res://table/lable.tscn')
|
||||
var TableTaggle = preload('res://table/taggle.tscn')
|
||||
var TableEdit = preload('res://table/editl.tscn')
|
||||
var TableEmpti = preload('res://table/empti.tscn')
|
||||
const TableHeader = preload('res://table/header.tscn')
|
||||
const TableTaggle = preload('res://table/settings_taggle.tscn')
|
||||
const TableEdit = preload('res://table/ячейка-2.tscn')
|
||||
|
||||
const ALIGNMENT = [HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
||||
const HEADER_ROW = [TableHeader, TableHeader]
|
||||
const HEADER_ROW_TEXT = ['Параметр', 'Значение']
|
||||
const SETTING_TABLE = [
|
||||
['Ограниченный режим', TableEdit, TableTaggle],
|
||||
['Управление элементами в ограниченном режиме', TableEdit, TableTaggle],
|
||||
['Кнопка «ПД-М4»', TableEdit, TableTaggle],
|
||||
['Кнопка «ПД-М2»', TableEdit, TableTaggle],
|
||||
['Кнопка «ОЗП-1»', TableEdit, TableTaggle],
|
||||
['Кнопка «МЧМ-1»', TableEdit, TableTaggle],
|
||||
['Кнопка «ОРН-И1»', TableEdit, TableTaggle],
|
||||
['Кнопка «ОРН-М2»', TableEdit, TableTaggle],
|
||||
['Кнопка «ЛЧМ-1»', TableEdit, TableTaggle],
|
||||
['Кнопка «ПД-М4С»', TableEdit, TableTaggle],
|
||||
['Кнопка «ПД-ЧМ»', TableEdit, TableTaggle],
|
||||
['Кнопка «СВ-И1»', TableEdit, TableTaggle],
|
||||
['Кнопка «К1»', TableEdit, TableTaggle],
|
||||
['Кнопка «СВ-М2»', TableEdit, TableTaggle],
|
||||
['Кнопка «ОРН»', TableEdit, TableTaggle],
|
||||
['Кнопка «JTIDS»', TableEdit, TableTaggle],
|
||||
['Кнопка «КУПД»', TableEdit, TableTaggle],
|
||||
['Внешнее целеуказание', TableEdit, TableTaggle],
|
||||
['Кнопка «Подавление»', TableEdit, TableTaggle],
|
||||
['Виртуальная клавиатура', TableEdit, TableTaggle],
|
||||
['Скрыть вкладку ЭМС 2', TableEdit, TableTaggle],
|
||||
['Текущая версия ПО УАРЭП', TableEdit, TableEdit ],
|
||||
['Адрес сервера карт', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-частный', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-общий', TableEdit, TableEdit ],
|
||||
['уарэп-капсрпб', TableEdit, TableEdit ],
|
||||
['уарэп-эмс', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-2в', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-2н', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-2к', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-4в', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-4н', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-4к', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-1в', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-1н', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-1к', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-3в', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-3н', TableEdit, TableEdit ],
|
||||
['уарэп-яу07-3к', TableEdit, TableEdit ],
|
||||
['уарэп-5п28', TableEdit, TableEdit ],
|
||||
['уарэп-щ3', TableEdit, TableEdit ],
|
||||
['уарэп-спт25-1', TableEdit, TableEdit ],
|
||||
['уарэп-спт25-2', TableEdit, TableEdit ]
|
||||
]
|
||||
const SUPPRESS = 18 # Строка - Подавление
|
||||
const KEYBORD = 19 # Строка - Виртуальная клавиатура
|
||||
const HIDE_EMS2 = 20 # Строка - Скрыть вкладку ЭМС 2
|
||||
|
||||
|
||||
## Вызывается, когда узел впервые попадает в дерево сцены.
|
||||
@@ -35,58 +85,85 @@ func on_ems2_pressed(btn) -> void:
|
||||
|
||||
|
||||
func setting_tab():
|
||||
var yams: Array = [HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
||||
$table.set_header([TableHeader, TableHeader])
|
||||
$table.set_header_text(['Параметр', 'начение '])
|
||||
var row_texts: Array = ['Ограниченный режим',
|
||||
'Управление элементами в ограниченном режиме',
|
||||
'Кнопка «ПД-М4»', 'Кнопка «ПД-М2»',
|
||||
'Кнопка «ОЗП-1»',
|
||||
'Кнопка «МЧМ-1»',
|
||||
'Кнопка «ОРН-И1»',
|
||||
'Кнопка «ОРН-М2»',
|
||||
'Кнопка «ЛЧМ-1»',
|
||||
'Кнопка «ПД-М4С»',
|
||||
'Кнопка «ПД-ЧМ»',
|
||||
'Кнопка «СВ-И1»',
|
||||
'Кнопка «К1»',
|
||||
'Кнопка «СВ-М2»',
|
||||
'Кнопка «ОРН»',
|
||||
'Кнопка «JTIDS»',
|
||||
'Кнопка «КУПД»',
|
||||
'Внешнее целеуказание',
|
||||
'Кнопка «Подавление»',
|
||||
'Виртуальная клавиатура',
|
||||
'Скрыть вкладку ЭМС 2',
|
||||
'Текущая версия ПО УАРЭП',
|
||||
'Адрес сервера карт' ]
|
||||
$heard_table.set_header(HEADER_ROW)
|
||||
$heard_table.set_header_text(HEADER_ROW_TEXT)
|
||||
$heard_table.set_columns_min_size([600, 950])
|
||||
$heard_table.set_columns_alignments(ALIGNMENT)
|
||||
for i in SETTING_TABLE.size():
|
||||
var setting_str = SETTING_TABLE[i]
|
||||
var parameter = setting_str[0]
|
||||
var node_label = setting_str[1]
|
||||
var node_value = setting_str[2]
|
||||
$scroll_set/table.add_row([node_label, node_value])
|
||||
var label_instance = $scroll_set/table.get_node2(0, i)
|
||||
label_instance.text = parameter
|
||||
$scroll_set/table.set_node_editable(0, i, false)
|
||||
var commit_instance = $scroll_set/table.get_node2(1, 21)
|
||||
var server_instance = $scroll_set/table.get_node2(1, 22)
|
||||
commit_instance.text = '%s' % commit.VCS_HEAD
|
||||
server_instance.text = ProjectSettings.get('application/config/map_server_addr')
|
||||
$scroll_set/table.set_node_editable(1, 21, false)
|
||||
$scroll_set/table.set_node_editable(1, 22, false)
|
||||
$scroll_set/table.set_columns_min_size([600, 950])
|
||||
$scroll_set/table.set_columns_alignments(ALIGNMENT)
|
||||
for i in SETTING_TABLE.size():
|
||||
var setting_str = SETTING_TABLE[i]
|
||||
var parameter = setting_str[0]
|
||||
if parameter in settings.UnitProfiles:
|
||||
var unit_data = settings.UnitProfiles[parameter]
|
||||
var profiles = $scroll_set/table.get_node2(1, i)
|
||||
var joined_data = ""
|
||||
for j in range(unit_data[2].size()):
|
||||
joined_data += str(unit_data[2][j])
|
||||
if j < unit_data[2].size() - 1:
|
||||
joined_data += ","
|
||||
profiles.text = str(unit_data[1]) + " : " + joined_data
|
||||
$end_table.set_header(HEADER_ROW)
|
||||
$end_table.set_header_text(HEADER_ROW_TEXT)
|
||||
$end_table.set_columns_min_size([600, 950])
|
||||
$end_table.set_columns_alignments(ALIGNMENT)
|
||||
button_settings()
|
||||
|
||||
for i in range(len(row_texts)):
|
||||
if i < 21:
|
||||
$table.add_row([TableLabel, TableTaggle])
|
||||
else:
|
||||
if i == len(row_texts) - 2:
|
||||
var commit_version = '%s"' % commit.VCS_HEAD
|
||||
$table.add_row([TableLabel, TableLabel])
|
||||
$table.set_row_text(i, [row_texts[i], commit_version])
|
||||
elif i == len(row_texts) - 1:
|
||||
$table.add_row([TableLabel, TableLabel])
|
||||
$table.set_row_text(i, [row_texts[i], ProjectSettings.get('application/config/map_server_addr')])
|
||||
else:
|
||||
$table.add_row([TableLabel, TableEmpti])
|
||||
$table.set_row_text(i, [row_texts[i]])
|
||||
|
||||
var extern_cu_node = $table.get_node2(1, 17).get_children()[1]
|
||||
func button_settings():
|
||||
var extern_cu_node = $scroll_set/table.get_node2(1, SUPPRESS).get_children()[1]
|
||||
extern_cu_node.connect('pressed', on_external_cu_btn_pressed.bind(extern_cu_node))
|
||||
$table.set_row_text(18,(['Кнопка «Подавление»']))
|
||||
$table.set_row_text(19,(['Виртуальная клавиатура']))
|
||||
var vk_node = $table.get_node2(1, 19).get_children()[1]
|
||||
$scroll_set/table.set_row_text(SUPPRESS,(['Кнопка «Подавление»']))
|
||||
$scroll_set/table.set_row_text(KEYBORD,(['Виртуальная клавиатура']))
|
||||
var vk_node = $scroll_set/table.get_node2(1, KEYBORD).get_children()[1]
|
||||
vk_node.connect('pressed', on_vk_pressed.bind(vk_node))
|
||||
$table.set_row_text(20,(['Скрыть вкладку ЭМС 2']))
|
||||
var ems2_hide_node = $table.get_node2(1, 20).get_children()[1]
|
||||
$scroll_set/table.set_row_text(HIDE_EMS2,(['Скрыть вкладку ЭМС 2']))
|
||||
var ems2_hide_node = $scroll_set/table.get_node2(1, HIDE_EMS2).get_children()[1]
|
||||
ems2_hide_node.connect('pressed', on_ems2_pressed.bind(ems2_hide_node))
|
||||
ems2_hide_node.set_pressed(true)
|
||||
on_ems2_pressed(ems2_hide_node)
|
||||
|
||||
$table.set_columns_min_size([365, 365])
|
||||
$table.set_columns_alignments(yams)
|
||||
|
||||
func _on_btn_save_settings_pressed():
|
||||
var json_data = {}
|
||||
for i in range(SETTING_TABLE.size()):
|
||||
var parameter = SETTING_TABLE[i][0]
|
||||
if parameter in settings.UnitProfiles:
|
||||
var profiles = $scroll_set/table.get_node2(1, i)
|
||||
var value = profiles.get_text()
|
||||
if parameter not in json_data:
|
||||
json_data[parameter] = []
|
||||
if value.find(":") != -1:
|
||||
var parts = value.split(":")
|
||||
var ip = parts[0].strip_edges()
|
||||
var ports = parts[1].split(",")
|
||||
json_data[parameter].append(ip)
|
||||
for port in ports:
|
||||
if port == "true":
|
||||
json_data[parameter].append(true)
|
||||
elif port == "false":
|
||||
json_data[parameter].append(false)
|
||||
var file = FileAccess.open(settings.settings_file, FileAccess.WRITE)
|
||||
if file:
|
||||
var json_conv = JSON.new()
|
||||
var json_string = json_conv.stringify(json_data)
|
||||
file.store_string(json_string)
|
||||
file.close()
|
||||
log.info('Настройки сохранены в файл %s' % settings.settings_file)
|
||||
else:
|
||||
log.info('Не удалось открыть файл для записи %s' % settings.settings_file)
|
||||
|
||||
@@ -1,15 +1,56 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bnptm4rlp60dq"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://bnptm4rlp60dq"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/настройки/настройки.gd" id="1_2l3rd"]
|
||||
[ext_resource type="Script" path="res://table/table.gd" id="2_6sx73"]
|
||||
[ext_resource type="Texture2D" uid="uid://biyjygfnhhf7i" path="res://data/save.png" id="3_xqtce"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bgm7i"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_eifcy"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_exytp"]
|
||||
|
||||
[node name="Настройки" type="Panel"]
|
||||
script = ExtResource("1_2l3rd")
|
||||
|
||||
[node name="table" type="GridContainer" parent="."]
|
||||
[node name="heard_table" type="GridContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 40.0
|
||||
offset_top = 40.0
|
||||
offset_right = 80.0
|
||||
offset_bottom = 80.0
|
||||
offset_left = 16.0
|
||||
offset_top = 16.0
|
||||
offset_right = 16.0
|
||||
offset_bottom = 16.0
|
||||
script = ExtResource("2_6sx73")
|
||||
|
||||
[node name="scroll_set" type="ScrollContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 16.0
|
||||
offset_top = 44.0
|
||||
offset_right = 1584.0
|
||||
offset_bottom = 988.0
|
||||
|
||||
[node name="table" type="GridContainer" parent="scroll_set"]
|
||||
layout_mode = 2
|
||||
script = ExtResource("2_6sx73")
|
||||
|
||||
[node name="end_table" type="GridContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 16.0
|
||||
offset_top = 1000.0
|
||||
offset_right = 16.0
|
||||
offset_bottom = 1000.0
|
||||
script = ExtResource("2_6sx73")
|
||||
|
||||
[node name="btn_save_settings" type="Button" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 1523.0
|
||||
offset_top = 1062.0
|
||||
offset_right = 2043.0
|
||||
offset_bottom = 1582.0
|
||||
scale = Vector2(0.1, 0.1)
|
||||
focus_mode = 0
|
||||
theme_override_styles/focus = SubResource("StyleBoxEmpty_bgm7i")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxEmpty_eifcy")
|
||||
theme_override_styles/normal = SubResource("StyleBoxEmpty_exytp")
|
||||
icon = ExtResource("3_xqtce")
|
||||
|
||||
[connection signal="pressed" from="btn_save_settings" to="." method="_on_btn_save_settings_pressed"]
|
||||
|
||||
@@ -45,25 +45,24 @@ var settings_program: Dictionary
|
||||
|
||||
func _ready() -> void:
|
||||
var file = FileAccess.open(settings_file, FileAccess.READ)
|
||||
if not file:
|
||||
log.info('Не удалось открыть файл настроек %s, использованы настройики по умолчанию' % settings_file)
|
||||
return
|
||||
var read = file.get_as_text()
|
||||
file.close()
|
||||
var json_conv: = JSON.new()
|
||||
if Error.OK != json_conv.parse(read):
|
||||
log.info('Не удалось прочитать файл настроек %s, использованы настройики по умолчанию' % settings_file)
|
||||
return
|
||||
var json_data = json_conv.get_data()
|
||||
settings_program.merge(json_data)
|
||||
for key in UnitProfiles.keys():
|
||||
if not json_data.has(key): continue
|
||||
UnitProfiles[key][1] = json_data[key][0]
|
||||
for i in len(json_data[key]) - 1:
|
||||
if json_data[key][1][i+1].is_valid_int():
|
||||
UnitProfiles[key][2][i] = int(json_data[key][i+1])
|
||||
else:
|
||||
UnitProfiles[key][2][i] = json_data[key][i+1]
|
||||
if file != null:
|
||||
var read = file.get_as_text()
|
||||
file.close()
|
||||
var json_conv: = JSON.new()
|
||||
if Error.OK == json_conv.parse(read):
|
||||
var json_data = json_conv.get_data()
|
||||
settings_program.merge(json_data)
|
||||
for key in UnitProfiles.keys():
|
||||
if json_data.has(key):
|
||||
UnitProfiles[key][1] = json_data[key][0]
|
||||
for i in len(json_data[key]) - 1:
|
||||
if typeof(json_data[key][i+1]) == TYPE_STRING:
|
||||
if json_data[key][i+1].is_valid_int():
|
||||
UnitProfiles[key][2][i] = int(json_data[key][i+1])
|
||||
else:
|
||||
UnitProfiles[key][2][i] = json_data[key][i+1]
|
||||
else:
|
||||
UnitProfiles[key][2][i] = json_data[key][i+1]
|
||||
log.info('Модуль настроек готов')
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ shader_type canvas_item;
|
||||
|
||||
#include "res://shaders/tools.gdshaderinc"
|
||||
|
||||
uniform vec4 ColorFig:source_color;
|
||||
uniform vec2 point_1;
|
||||
uniform vec2 point_2;
|
||||
uniform vec2 point_3;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
[gd_scene format=3 uid="uid://bvbvtgwps54yr"]
|
||||
|
||||
[node name="Editl" type="LineEdit"]
|
||||
offset_right = 59.875
|
||||
offset_bottom = 33.0
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
@@ -11,6 +11,6 @@ corner_radius_bottom_left = 5
|
||||
|
||||
[node name="Lable" type="Label"]
|
||||
offset_right = 104.0
|
||||
offset_bottom = 24.0
|
||||
offset_bottom = 27.0
|
||||
theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_yign5")
|
||||
|
||||
29
table/settings_taggle.tscn
Normal file
29
table/settings_taggle.tscn
Normal file
@@ -0,0 +1,29 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://5rw652cmnybi"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dspa16ufrpanp" path="res://table/ячейка-2.tscn" id="1_qcan0"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_q2spu"]
|
||||
|
||||
[sub_resource type="Theme" id="Theme_hnhcj"]
|
||||
CheckButton/styles/focus = SubResource("StyleBoxEmpty_q2spu")
|
||||
|
||||
[node name="SettingsTaggle" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="LineEdit" parent="." instance=ExtResource("1_qcan0")]
|
||||
layout_mode = 0
|
||||
offset_right = 950.0
|
||||
editable = false
|
||||
|
||||
[node name="CheckButton" type="CheckButton" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 453.0
|
||||
offset_top = 4.0
|
||||
offset_right = 497.0
|
||||
offset_bottom = 28.0
|
||||
theme = SubResource("Theme_hnhcj")
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dm7hh7ibuin78"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dwphmxstaxn4v" path="res://table/lable.tscn" id="1_2wdrh"]
|
||||
|
||||
[node name="Control" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_right = 96.0
|
||||
offset_bottom = 24.0
|
||||
|
||||
[node name="Lable" parent="." instance=ExtResource("1_2wdrh")]
|
||||
layout_mode = 0
|
||||
offset_right = 368.0
|
||||
offset_bottom = 21.0
|
||||
|
||||
[node name="CheckButton" type="CheckButton" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 161.0
|
||||
offset_top = -2.0
|
||||
offset_right = 205.0
|
||||
offset_bottom = 22.0
|
||||
@@ -5,8 +5,8 @@
|
||||
[node name="LineEdit" type="LineEdit"]
|
||||
offset_right = 58.0
|
||||
offset_bottom = 33.0
|
||||
theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1)
|
||||
theme_override_colors/font_uneditable_color = Color(1, 0.596078, 0.4, 1)
|
||||
theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1)
|
||||
theme_override_styles/focus = SubResource("StyleBoxEmpty_mla3y")
|
||||
alignment = 1
|
||||
context_menu_enabled = false
|
||||
|
||||
Reference in New Issue
Block a user