implement NinePatchRect
This commit is contained in:
parent
be596f9c69
commit
97a4144604
20 changed files with 432 additions and 141 deletions
|
@ -1,3 +1,3 @@
|
||||||
source_md5="a803a469ce9c7be31d679021ada8293c"
|
source_md5="7244c31ff5cb81b0ca9868b9ccf30093"
|
||||||
dest_md5="01966585d312a53ec85f54474db04e69"
|
dest_md5="ce725210917720d1a63a315c18a3f92a"
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -5,7 +5,7 @@ func _ready():
|
||||||
pass # Replace with function body.
|
pass # Replace with function body.
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
func _process(delta):
|
func _process(_delta):
|
||||||
$panel2/Node3D/SubViewport/VBoxContainer/Label.text = str(Common.get_time_only_text())
|
$panel2/Node3D/SubViewport/VBoxContainer/Label.text = str(Common.get_time_only_text())
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://bfjiabhhr0xmc"
|
|
||||||
path.s3tc="res://.godot/imported/microvegetation_ab_basecolor+alpha.png-75260949d8c3129f6ed360e35b71a818.s3tc.ctex"
|
|
||||||
path.etc2="res://.godot/imported/microvegetation_ab_basecolor+alpha.png-75260949d8c3129f6ed360e35b71a818.etc2.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc", "etc2"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://maps/textures/microvegetation_ab/microvegetation_ab_basecolor+alpha.png"
|
|
||||||
dest_files=["res://.godot/imported/microvegetation_ab_basecolor+alpha.png-75260949d8c3129f6ed360e35b71a818.s3tc.ctex", "res://.godot/imported/microvegetation_ab_basecolor+alpha.png-75260949d8c3129f6ed360e35b71a818.etc2.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
Before Width: | Height: | Size: 510 KiB After Width: | Height: | Size: 510 KiB |
|
@ -12,8 +12,8 @@ config_version=5
|
||||||
|
|
||||||
config/name="Third Person basic scene"
|
config/name="Third Person basic scene"
|
||||||
run/main_scene="res://scenes/main/main.tscn"
|
run/main_scene="res://scenes/main/main.tscn"
|
||||||
config/icon="res://icon.png"
|
|
||||||
config/features=PackedStringArray("4.0", "Vulkan Clustered")
|
config/features=PackedStringArray("4.0", "Vulkan Clustered")
|
||||||
|
config/icon="res://icon.png"
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
|
|
|
@ -13,10 +13,10 @@ func set_action( _action ):
|
||||||
action = _action
|
action = _action
|
||||||
|
|
||||||
|
|
||||||
func set_param(_action, _command, position):
|
func set_param(_action, _command, myposition):
|
||||||
set_label(_command)
|
set_label(_command)
|
||||||
set_action(_action)
|
set_action(_action)
|
||||||
if position:
|
if myposition:
|
||||||
$Add_front.visible = true
|
$Add_front.visible = true
|
||||||
$Add.visible = false
|
$Add.visible = false
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -263,7 +263,7 @@ func configure_control_sort_by_input():
|
||||||
for action in InputMap.get_actions():
|
for action in InputMap.get_actions():
|
||||||
for z in InputMap.action_get_events(action):
|
for z in InputMap.action_get_events(action):
|
||||||
var id:String
|
var id:String
|
||||||
var extra = ""
|
#var extra = ""
|
||||||
var eventplus = null
|
var eventplus = null
|
||||||
if String(action).ends_with("_MOUSE"):
|
if String(action).ends_with("_MOUSE"):
|
||||||
eventplus = Common.get_event_plus_ref(action, z)
|
eventplus = Common.get_event_plus_ref(action, z)
|
||||||
|
|
|
@ -30,7 +30,7 @@ func _ready():
|
||||||
func update_theme():
|
func update_theme():
|
||||||
var select_theme = load(Themes.THEMES_CONTROL[Themes.current_theme])
|
var select_theme = load(Themes.THEMES_CONTROL[Themes.current_theme])
|
||||||
#$Control.set_theme(Themes.THEMES_CONTROL[Themes.current_theme])
|
#$Control.set_theme(Themes.THEMES_CONTROL[Themes.current_theme])
|
||||||
print($Control)
|
Common.msg_debug($Control)
|
||||||
self.set_theme(select_theme)
|
self.set_theme(select_theme)
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ func _on_confirmation_dialog_confirmed():
|
||||||
|
|
||||||
func _on_languages_pressed():
|
func _on_languages_pressed():
|
||||||
#$MenuLanguage/Window.popup_centered()
|
#$MenuLanguage/Window.popup_centered()
|
||||||
$MenuLanguage/Window.set_visible(true)
|
$MenuLanguage.show_window()
|
||||||
|
|
||||||
|
|
||||||
func _on_keys_pressed():
|
func _on_keys_pressed():
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
[gd_scene load_steps=7 format=3 uid="uid://cdyi1a858p7em"]
|
[gd_scene load_steps=8 format=3 uid="uid://cdyi1a858p7em"]
|
||||||
|
|
||||||
[ext_resource type="Theme" uid="uid://bi1js53ni6ehd" path="res://UI/themes/zbasu/zbasu.theme" id="1_iq3fo"]
|
[ext_resource type="Theme" uid="uid://bi1js53ni6ehd" path="res://UI/themes/zbasu/zbasu.theme" id="1_iq3fo"]
|
||||||
[ext_resource type="Script" path="res://scenes/hud/hud.gd" id="1_s6f6d"]
|
[ext_resource type="Script" path="res://scenes/hud/hud.gd" id="1_s6f6d"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dpvequp5fv27k" path="res://scenes/languages/languages.tscn" id="2_um8fw"]
|
[ext_resource type="PackedScene" uid="uid://dpvequp5fv27k" path="res://scenes/languages/languages.tscn" id="2_um8fw"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cl8xk8w3jmta0" path="res://scenes/controls/controls.tscn" id="3_08xl7"]
|
[ext_resource type="PackedScene" uid="uid://cl8xk8w3jmta0" path="res://scenes/controls/controls.tscn" id="3_08xl7"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://otvln5ol34bj" path="res://scenes/languages/languages2.tscn" id="3_gyqw8"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cb0gfweooxdsl" path="res://scenes/themes/themes.tscn" id="4_1poje"]
|
[ext_resource type="PackedScene" uid="uid://cb0gfweooxdsl" path="res://scenes/themes/themes.tscn" id="4_1poje"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ebfrhgrluixd" path="res://scenes/music/music_manager.tscn" id="6_0ivsi"]
|
[ext_resource type="PackedScene" uid="uid://ebfrhgrluixd" path="res://scenes/music/music_manager.tscn" id="6_0ivsi"]
|
||||||
|
|
||||||
|
@ -78,7 +79,16 @@ dialog_text = "POPUP_CONFIRM_QUIT/MESSAGE"
|
||||||
[node name="AboutMessage" type="AcceptDialog" parent="."]
|
[node name="AboutMessage" type="AcceptDialog" parent="."]
|
||||||
title = "POPUP_ABOUT_MESSAGE/TITLE"
|
title = "POPUP_ABOUT_MESSAGE/TITLE"
|
||||||
|
|
||||||
[node name="MenuLanguage" parent="." instance=ExtResource( "2_um8fw" )]
|
[node name="MenuLanguage" parent="." instance=ExtResource( "3_gyqw8" )]
|
||||||
|
visible = false
|
||||||
|
anchor_left = 0.096
|
||||||
|
anchor_top = 0.137
|
||||||
|
offset_left = -0.304001
|
||||||
|
offset_right = 0.807983
|
||||||
|
offset_bottom = 3.20001
|
||||||
|
metadata/_edit_layout_mode = 1
|
||||||
|
|
||||||
|
[node name="MenuLanguage2" parent="." instance=ExtResource( "2_um8fw" )]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
[node name="MenuControl" parent="." instance=ExtResource( "3_08xl7" )]
|
[node name="MenuControl" parent="." instance=ExtResource( "3_08xl7" )]
|
||||||
|
|
|
@ -2,7 +2,7 @@ extends Control
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
$Window/VBoxContainer/Select.clear()
|
$Window/NinePatchRect/V/H2/VBoxContainer/Select.clear()
|
||||||
var id = 0
|
var id = 0
|
||||||
var selected = -1
|
var selected = -1
|
||||||
var near_selected = -1
|
var near_selected = -1
|
||||||
|
@ -19,22 +19,22 @@ func _ready():
|
||||||
near_selected = id
|
near_selected = id
|
||||||
elif near_selected == -1:
|
elif near_selected == -1:
|
||||||
near_selected = id
|
near_selected = id
|
||||||
$Window/VBoxContainer/Select.add_item(TranslationServer.get_locale_name(key) + " [" + key + "]", id)
|
$Window/NinePatchRect/V/H2/VBoxContainer/Select.add_item(TranslationServer.get_locale_name(key) + " [" + key + "]", id)
|
||||||
id += 1
|
id += 1
|
||||||
if selected == -1 and near_selected != -1:
|
if selected == -1 and near_selected != -1:
|
||||||
selected = near_selected
|
selected = near_selected
|
||||||
if selected == -1:
|
if selected == -1:
|
||||||
# Your language not exist, create it just for the form
|
# Your language not exist, create it just for the form
|
||||||
var key = TranslationServer.get_locale()
|
var key = TranslationServer.get_locale()
|
||||||
$Window/VBoxContainer/Select.add_item(TranslationServer.get_locale_name(key) + " (" + key + " !)", id)
|
$Window/NinePatchRect/V/H2/VBoxContainer/Select.add_item(TranslationServer.get_locale_name(key) + " (" + key + " !)", id)
|
||||||
selected = id
|
selected = id
|
||||||
$Window/VBoxContainer/Select.select(selected)
|
$Window/NinePatchRect/V/H2/VBoxContainer/Select.select(selected)
|
||||||
|
|
||||||
|
|
||||||
func _on_select_item_selected(_index):
|
func _on_select_item_selected(_index):
|
||||||
var pos = 0
|
var pos = 0
|
||||||
for key in TranslationServer.get_loaded_locales():
|
for key in TranslationServer.get_loaded_locales():
|
||||||
if pos == $Window/VBoxContainer/Select.get_selected():
|
if pos == $Window/NinePatchRect/V/H2/VBoxContainer/Select.get_selected():
|
||||||
TranslationServer.set_locale(key)
|
TranslationServer.set_locale(key)
|
||||||
return
|
return
|
||||||
pos += 1
|
pos += 1
|
||||||
|
@ -42,3 +42,10 @@ func _on_select_item_selected(_index):
|
||||||
|
|
||||||
func _on_quit_pressed():
|
func _on_quit_pressed():
|
||||||
$Window.set_visible(false)
|
$Window.set_visible(false)
|
||||||
|
|
||||||
|
|
||||||
|
func show_window():
|
||||||
|
Common.msg_debug("+ Open windows languages")
|
||||||
|
$Window.show_window()
|
||||||
|
#.visible = true
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
[gd_scene load_steps=3 format=3 uid="uid://dpvequp5fv27k"]
|
[gd_scene load_steps=3 format=3 uid="uid://dpvequp5fv27k"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scenes/languages/languages.gd" id="1_qc7c5"]
|
[ext_resource type="Script" path="res://scenes/languages/languages.gd" id="1_qc7c5"]
|
||||||
[ext_resource type="Texture2D" uid="uid://0cn1ngjhkhrj" path="res://scenes/languages/panel.jpg" id="2_nhy1g"]
|
[ext_resource type="PackedScene" uid="uid://otvln5ol34bj" path="res://scenes/languages/languages2.tscn" id="2_plade"]
|
||||||
|
|
||||||
[node name="Control" type="Control"]
|
[node name="Control" type="Control"]
|
||||||
script = ExtResource( "1_qc7c5" )
|
script = ExtResource( "1_qc7c5" )
|
||||||
|
|
||||||
[node name="Window" type="Window" parent="."]
|
[node name="WindowOld" type="Window" parent="."]
|
||||||
title = "Language"
|
title = "Language"
|
||||||
position = Vector2i(50, 100)
|
position = Vector2i(50, 100)
|
||||||
size = Vector2i(300, 150)
|
size = Vector2i(300, 150)
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="Window"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="WindowOld"]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
|
@ -21,19 +21,19 @@ size_flags_horizontal = 3
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
metadata/_edit_use_custom_anchors = false
|
metadata/_edit_use_custom_anchors = false
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="Window/VBoxContainer"]
|
[node name="Label" type="Label" parent="WindowOld/VBoxContainer"]
|
||||||
offset_right = 1024.0
|
offset_right = 1024.0
|
||||||
offset_bottom = 26.0
|
offset_bottom = 26.0
|
||||||
text = "Select language"
|
text = "Select language"
|
||||||
|
|
||||||
[node name="Select" type="OptionButton" parent="Window/VBoxContainer"]
|
[node name="Select" type="OptionButton" parent="WindowOld/VBoxContainer"]
|
||||||
offset_top = 30.0
|
offset_top = 30.0
|
||||||
offset_right = 1024.0
|
offset_right = 1024.0
|
||||||
offset_bottom = 565.0
|
offset_bottom = 565.0
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
metadata/_edit_use_custom_anchors = false
|
metadata/_edit_use_custom_anchors = false
|
||||||
|
|
||||||
[node name="Quit" type="Button" parent="Window/VBoxContainer"]
|
[node name="Quit" type="Button" parent="WindowOld/VBoxContainer"]
|
||||||
offset_left = 491.0
|
offset_left = 491.0
|
||||||
offset_top = 569.0
|
offset_top = 569.0
|
||||||
offset_right = 533.0
|
offset_right = 533.0
|
||||||
|
@ -42,57 +42,8 @@ size_flags_horizontal = 4
|
||||||
size_flags_vertical = 8
|
size_flags_vertical = 8
|
||||||
text = "Quit"
|
text = "Quit"
|
||||||
|
|
||||||
[node name="Window3" type="NinePatchRect" parent="."]
|
[node name="Window" parent="." instance=ExtResource( "2_plade" )]
|
||||||
visible = false
|
|
||||||
anchor_top = 0.5
|
|
||||||
anchor_right = 0.5
|
|
||||||
anchor_bottom = 0.5
|
|
||||||
offset_left = 72.0
|
|
||||||
offset_top = 38.0
|
|
||||||
offset_right = 681.0
|
|
||||||
offset_bottom = 411.0
|
|
||||||
grow_horizontal = 2
|
|
||||||
grow_vertical = 2
|
|
||||||
texture = ExtResource( "2_nhy1g" )
|
|
||||||
patch_margin_left = 8
|
|
||||||
patch_margin_top = 8
|
|
||||||
patch_margin_right = 8
|
|
||||||
patch_margin_bottom = 8
|
|
||||||
metadata/_edit_layout_mode = 1
|
|
||||||
metadata/_edit_use_custom_anchors = true
|
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="Window3"]
|
[connection signal="close_requested" from="WindowOld" to="." method="_on_quit_pressed"]
|
||||||
anchor_right = 1.0
|
[connection signal="item_selected" from="WindowOld/VBoxContainer/Select" to="." method="_on_select_item_selected"]
|
||||||
anchor_bottom = 1.0
|
[connection signal="pressed" from="WindowOld/VBoxContainer/Quit" to="." method="_on_quit_pressed"]
|
||||||
grow_horizontal = 2
|
|
||||||
grow_vertical = 2
|
|
||||||
size_flags_horizontal = 3
|
|
||||||
size_flags_vertical = 3
|
|
||||||
metadata/_edit_layout_mode = 1
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="Window3/VBoxContainer"]
|
|
||||||
offset_right = 609.0
|
|
||||||
offset_bottom = 26.0
|
|
||||||
text = "Select language"
|
|
||||||
|
|
||||||
[node name="Select" type="OptionButton" parent="Window3/VBoxContainer"]
|
|
||||||
offset_top = 30.0
|
|
||||||
offset_right = 609.0
|
|
||||||
offset_bottom = 338.0
|
|
||||||
size_flags_vertical = 3
|
|
||||||
metadata/_edit_use_custom_anchors = false
|
|
||||||
|
|
||||||
[node name="Quit" type="Button" parent="Window3/VBoxContainer"]
|
|
||||||
offset_left = 283.0
|
|
||||||
offset_top = 342.0
|
|
||||||
offset_right = 325.0
|
|
||||||
offset_bottom = 373.0
|
|
||||||
size_flags_horizontal = 4
|
|
||||||
size_flags_vertical = 8
|
|
||||||
text = "Quit"
|
|
||||||
|
|
||||||
[connection signal="close_requested" from="Window" to="." method="_on_quit_pressed"]
|
|
||||||
[connection signal="item_selected" from="Window/VBoxContainer/Select" to="." method="_on_select_item_selected"]
|
|
||||||
[connection signal="pressed" from="Window/VBoxContainer/Quit" to="." method="_on_quit_pressed"]
|
|
||||||
[connection signal="item_selected" from="Window3/VBoxContainer/Select" to="." method="_on_select_item_selected"]
|
|
||||||
[connection signal="pressed" from="Window3/VBoxContainer/Quit" to="." method="_on_quit_pressed"]
|
|
||||||
|
|
198
scenes/languages/languages2.gd
Normal file
198
scenes/languages/languages2.gd
Normal file
|
@ -0,0 +1,198 @@
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var mouseFollowerRect2 = $NinePatchRect/Title # node with sword image
|
||||||
|
@onready var mouseFollowerRect = $NinePatchRect # node with sword image
|
||||||
|
|
||||||
|
var moveWindows:bool = false
|
||||||
|
var enterMove:bool = false
|
||||||
|
var enterResizeTopLeft: bool = false
|
||||||
|
var enterResizeTopRight: bool = false
|
||||||
|
var enterResizeLeft: bool = false
|
||||||
|
var enterResizeRight: bool = false
|
||||||
|
var enterResizeBottomLeft: bool = false
|
||||||
|
var enterResizeBottomRight: bool = false
|
||||||
|
var enterResizeBottom: bool = false
|
||||||
|
var lastMousePos:Vector2
|
||||||
|
enum StateAction {None, Move, ResizeTopLeft, ResizeTopRight, ResizeLeft, ResizeRight, ResizeBottomLeft, ResizeBottomRight, ResizeBottom}
|
||||||
|
var action:StateAction = StateAction.None
|
||||||
|
|
||||||
|
|
||||||
|
func resize_windows():
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
match action:
|
||||||
|
StateAction.Move:
|
||||||
|
var currentMousePos:Vector2 = get_global_mouse_position()
|
||||||
|
var currentPos:Vector2 = mouseFollowerRect.get_position()
|
||||||
|
var finalTexturePos:Vector2 = currentMousePos - lastMousePos + currentPos
|
||||||
|
mouseFollowerRect.set_position(finalTexturePos)
|
||||||
|
lastMousePos = currentMousePos
|
||||||
|
StateAction.ResizeTopLeft:
|
||||||
|
Common.msg_debug("")
|
||||||
|
StateAction.ResizeTopRight:
|
||||||
|
Common.msg_debug("")
|
||||||
|
StateAction.ResizeLeft:
|
||||||
|
Common.msg_debug("")
|
||||||
|
StateAction.ResizeRight:
|
||||||
|
Common.msg_debug("")
|
||||||
|
StateAction.ResizeBottomLeft:
|
||||||
|
Common.msg_debug("")
|
||||||
|
StateAction.ResizeBottomRight:
|
||||||
|
Common.msg_debug("")
|
||||||
|
StateAction.ResizeBottom:
|
||||||
|
Common.msg_debug("")
|
||||||
|
var currentMousePos:Vector2 = get_global_mouse_position()
|
||||||
|
var currentPos:Vector2 = mouseFollowerRect.get_position()
|
||||||
|
var t:Vector2 = self.get_size()
|
||||||
|
var n:Vector2 = t + currentMousePos - lastMousePos
|
||||||
|
n.x = t.x
|
||||||
|
if n.y < 224.0:
|
||||||
|
n.y = 224.0
|
||||||
|
self._set_size(n)
|
||||||
|
lastMousePos = currentMousePos
|
||||||
|
#self.resize
|
||||||
|
|
||||||
|
|
||||||
|
func _input(event):
|
||||||
|
if event is InputEventMouseButton:
|
||||||
|
if event.get_button_index() == MOUSE_BUTTON_LEFT:
|
||||||
|
if event.is_pressed():
|
||||||
|
if action == StateAction.None:
|
||||||
|
if enterMove:
|
||||||
|
lastMousePos = get_global_mouse_position()
|
||||||
|
action = StateAction.Move
|
||||||
|
elif enterResizeTopLeft and not moveWindows:
|
||||||
|
lastMousePos = get_global_mouse_position()
|
||||||
|
action = StateAction.ResizeTopLeft
|
||||||
|
elif enterResizeTopRight and not moveWindows:
|
||||||
|
lastMousePos = get_global_mouse_position()
|
||||||
|
action = StateAction.ResizeTopRight
|
||||||
|
elif enterResizeLeft and not moveWindows:
|
||||||
|
lastMousePos = get_global_mouse_position()
|
||||||
|
action = StateAction.ResizeLeft
|
||||||
|
elif enterResizeRight and not moveWindows:
|
||||||
|
lastMousePos = get_global_mouse_position()
|
||||||
|
action = StateAction.ResizeRight
|
||||||
|
elif enterResizeBottomLeft and not moveWindows:
|
||||||
|
lastMousePos = get_global_mouse_position()
|
||||||
|
action = StateAction.ResizeBottomLeft
|
||||||
|
elif enterResizeBottomRight and not moveWindows:
|
||||||
|
lastMousePos = get_global_mouse_position()
|
||||||
|
action = StateAction.ResizeBottomRight
|
||||||
|
elif enterResizeBottom and not moveWindows:
|
||||||
|
lastMousePos = get_global_mouse_position()
|
||||||
|
action = StateAction.ResizeBottom
|
||||||
|
#SceneTree.set_input_as_handled()
|
||||||
|
else:
|
||||||
|
action = StateAction.None
|
||||||
|
#SceneTree.set_input_as_handled()
|
||||||
|
|
||||||
|
|
||||||
|
func show_window():
|
||||||
|
Common.msg_debug("++ Open windows languages")
|
||||||
|
$NinePatchRect/V/H2/VBoxContainer/Select.clear()
|
||||||
|
var id = 0
|
||||||
|
var selected = -1
|
||||||
|
var near_selected = -1
|
||||||
|
var current_locale = TranslationServer.get_locale()
|
||||||
|
var root_language = current_locale.split('_')[0]
|
||||||
|
for key in TranslationServer.get_loaded_locales():
|
||||||
|
if key == TranslationServer.get_locale():
|
||||||
|
selected = id
|
||||||
|
else:
|
||||||
|
var tmp = key.split("_")
|
||||||
|
# print("tmp:" + tmp[0])
|
||||||
|
if tmp[0] == root_language:
|
||||||
|
if tmp.size() == 1:
|
||||||
|
near_selected = id
|
||||||
|
elif near_selected == -1:
|
||||||
|
near_selected = id
|
||||||
|
$NinePatchRect/V/H2/VBoxContainer/Select.add_item(TranslationServer.get_locale_name(key) + " [" + key + "]", id)
|
||||||
|
id += 1
|
||||||
|
if selected == -1 and near_selected != -1:
|
||||||
|
selected = near_selected
|
||||||
|
if selected == -1:
|
||||||
|
# Your language not exist, create it just for the form
|
||||||
|
var key = TranslationServer.get_locale()
|
||||||
|
$NinePatchRect/V/H2/VBoxContainer/Select.add_item(TranslationServer.get_locale_name(key) + " (" + key + " !)", id)
|
||||||
|
selected = id
|
||||||
|
$NinePatchRect/V/H2/VBoxContainer/Select.select(selected)
|
||||||
|
self.set_visible(true)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_select_item_selected(_index):
|
||||||
|
var pos = 0
|
||||||
|
for key in TranslationServer.get_loaded_locales():
|
||||||
|
if pos == $NinePatchRect/V/H2/VBoxContainer/Select.get_selected():
|
||||||
|
TranslationServer.set_locale(key)
|
||||||
|
return
|
||||||
|
pos += 1
|
||||||
|
|
||||||
|
|
||||||
|
func _on_quit_pressed():
|
||||||
|
self.set_visible(false)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_title_mouse_entered():
|
||||||
|
enterMove = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_title_mouse_exited():
|
||||||
|
enterMove = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_top_left_mouse_entered():
|
||||||
|
enterResizeTopLeft = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_top_left_mouse_exited():
|
||||||
|
enterResizeTopLeft = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_bottom_left_mouse_entered():
|
||||||
|
enterResizeBottomLeft = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_bottom_left_mouse_exited():
|
||||||
|
enterResizeBottomLeft = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_bottom_mouse_entered():
|
||||||
|
enterResizeBottom = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_bottom_mouse_exited():
|
||||||
|
enterResizeBottom = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_left_mouse_exited():
|
||||||
|
enterResizeLeft = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_left_mouse_entered():
|
||||||
|
enterResizeLeft = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_top_right_mouse_entered():
|
||||||
|
enterResizeTopRight = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_top_right_mouse_exited():
|
||||||
|
enterResizeTopRight = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_right_mouse_entered():
|
||||||
|
enterResizeRight = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_right_mouse_exited():
|
||||||
|
enterResizeRight = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_bottom_right_mouse_entered():
|
||||||
|
enterResizeBottomRight = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_resize_bottom_right_mouse_exited():
|
||||||
|
enterResizeBottomRight = false
|
170
scenes/languages/languages2.tscn
Normal file
170
scenes/languages/languages2.tscn
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
[gd_scene load_steps=3 format=3 uid="uid://otvln5ol34bj"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scenes/languages/languages2.gd" id="2_3c17g"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://p5xmkx2aofxx" path="res://scenes/languages/panel2.png" id="2_xmbl2"]
|
||||||
|
|
||||||
|
[node name="Window" type="Control"]
|
||||||
|
anchor_left = 0.095
|
||||||
|
anchor_top = 0.132
|
||||||
|
anchor_right = 0.883
|
||||||
|
anchor_bottom = 0.668
|
||||||
|
offset_left = -0.280006
|
||||||
|
offset_top = -0.199997
|
||||||
|
offset_right = -0.192017
|
||||||
|
offset_bottom = 0.199982
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
script = ExtResource( "2_3c17g" )
|
||||||
|
metadata/_edit_use_custom_anchors = true
|
||||||
|
|
||||||
|
[node name="NinePatchRect" type="NinePatchRect" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = ExtResource( "2_xmbl2" )
|
||||||
|
patch_margin_left = 22
|
||||||
|
patch_margin_top = 25
|
||||||
|
patch_margin_right = 22
|
||||||
|
patch_margin_bottom = 14
|
||||||
|
axis_stretch_horizontal = 2
|
||||||
|
axis_stretch_vertical = 2
|
||||||
|
metadata/_edit_layout_mode = 1
|
||||||
|
|
||||||
|
[node name="V" type="VBoxContainer" parent="NinePatchRect"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
|
||||||
|
[node name="H1" type="HBoxContainer" parent="NinePatchRect/V"]
|
||||||
|
offset_right = 807.0
|
||||||
|
offset_bottom = 26.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 0
|
||||||
|
|
||||||
|
[node name="ResizeTopLeft" type="Control" parent="NinePatchRect/V/H1"]
|
||||||
|
minimum_size = Vector2(14, 14)
|
||||||
|
offset_right = 14.0
|
||||||
|
offset_bottom = 26.0
|
||||||
|
size_flags_horizontal = 0
|
||||||
|
mouse_default_cursor_shape = 12
|
||||||
|
|
||||||
|
[node name="Title" type="Label" parent="NinePatchRect/V/H1"]
|
||||||
|
offset_left = 18.0
|
||||||
|
offset_right = 789.0
|
||||||
|
offset_bottom = 26.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
mouse_filter = 1
|
||||||
|
mouse_default_cursor_shape = 13
|
||||||
|
text = "Select language"
|
||||||
|
metadata/_edit_layout_mode = 1
|
||||||
|
metadata/_edit_use_custom_anchors = true
|
||||||
|
|
||||||
|
[node name="ResizeTopRight" type="Control" parent="NinePatchRect/V/H1"]
|
||||||
|
minimum_size = Vector2(14, 14)
|
||||||
|
offset_left = 793.0
|
||||||
|
offset_right = 807.0
|
||||||
|
offset_bottom = 26.0
|
||||||
|
size_flags_horizontal = 8
|
||||||
|
mouse_default_cursor_shape = 11
|
||||||
|
|
||||||
|
[node name="H2" type="HBoxContainer" parent="NinePatchRect/V"]
|
||||||
|
offset_top = 30.0
|
||||||
|
offset_right = 807.0
|
||||||
|
offset_bottom = 303.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
|
||||||
|
[node name="ResizeLeft" type="Control" parent="NinePatchRect/V/H2"]
|
||||||
|
minimum_size = Vector2(14, 0)
|
||||||
|
offset_right = 14.0
|
||||||
|
offset_bottom = 273.0
|
||||||
|
size_flags_horizontal = 0
|
||||||
|
size_flags_vertical = 3
|
||||||
|
mouse_default_cursor_shape = 10
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="NinePatchRect/V/H2"]
|
||||||
|
offset_left = 18.0
|
||||||
|
offset_right = 789.0
|
||||||
|
offset_bottom = 273.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
metadata/_edit_layout_mode = 1
|
||||||
|
metadata/_edit_use_custom_anchors = true
|
||||||
|
|
||||||
|
[node name="Select" type="OptionButton" parent="NinePatchRect/V/H2/VBoxContainer"]
|
||||||
|
offset_right = 771.0
|
||||||
|
offset_bottom = 238.0
|
||||||
|
size_flags_vertical = 3
|
||||||
|
metadata/_edit_use_custom_anchors = false
|
||||||
|
|
||||||
|
[node name="Quit" type="Button" parent="NinePatchRect/V/H2/VBoxContainer"]
|
||||||
|
offset_left = 364.0
|
||||||
|
offset_top = 242.0
|
||||||
|
offset_right = 406.0
|
||||||
|
offset_bottom = 273.0
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 8
|
||||||
|
text = "Quit"
|
||||||
|
|
||||||
|
[node name="ResizeRight" type="Control" parent="NinePatchRect/V/H2"]
|
||||||
|
minimum_size = Vector2(14, 0)
|
||||||
|
offset_left = 793.0
|
||||||
|
offset_right = 807.0
|
||||||
|
offset_bottom = 273.0
|
||||||
|
size_flags_horizontal = 8
|
||||||
|
size_flags_vertical = 3
|
||||||
|
mouse_default_cursor_shape = 10
|
||||||
|
|
||||||
|
[node name="H3" type="HBoxContainer" parent="NinePatchRect/V"]
|
||||||
|
offset_top = 307.0
|
||||||
|
offset_right = 807.0
|
||||||
|
offset_bottom = 321.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 8
|
||||||
|
|
||||||
|
[node name="ResizeBottomLeft" type="Control" parent="NinePatchRect/V/H3"]
|
||||||
|
minimum_size = Vector2(14, 14)
|
||||||
|
offset_right = 14.0
|
||||||
|
offset_bottom = 14.0
|
||||||
|
mouse_default_cursor_shape = 11
|
||||||
|
|
||||||
|
[node name="ResizeBottom" type="Control" parent="NinePatchRect/V/H3"]
|
||||||
|
minimum_size = Vector2(14, 0)
|
||||||
|
offset_left = 18.0
|
||||||
|
offset_right = 789.0
|
||||||
|
offset_bottom = 14.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
mouse_default_cursor_shape = 9
|
||||||
|
|
||||||
|
[node name="ResizeBottomRight" type="Control" parent="NinePatchRect/V/H3"]
|
||||||
|
minimum_size = Vector2(14, 14)
|
||||||
|
offset_left = 793.0
|
||||||
|
offset_right = 807.0
|
||||||
|
offset_bottom = 14.0
|
||||||
|
size_flags_horizontal = 8
|
||||||
|
size_flags_vertical = 8
|
||||||
|
mouse_default_cursor_shape = 12
|
||||||
|
metadata/_edit_layout_mode = 1
|
||||||
|
metadata/_edit_use_custom_anchors = true
|
||||||
|
|
||||||
|
[connection signal="mouse_entered" from="NinePatchRect/V/H1/ResizeTopLeft" to="." method="_on_resize_top_left_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="NinePatchRect/V/H1/ResizeTopLeft" to="." method="_on_resize_top_left_mouse_exited"]
|
||||||
|
[connection signal="mouse_entered" from="NinePatchRect/V/H1/Title" to="." method="_on_title_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="NinePatchRect/V/H1/Title" to="." method="_on_title_mouse_exited"]
|
||||||
|
[connection signal="mouse_entered" from="NinePatchRect/V/H1/ResizeTopRight" to="." method="_on_resize_top_right_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="NinePatchRect/V/H1/ResizeTopRight" to="." method="_on_resize_top_right_mouse_exited"]
|
||||||
|
[connection signal="mouse_entered" from="NinePatchRect/V/H2/ResizeLeft" to="." method="_on_resize_left_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="NinePatchRect/V/H2/ResizeLeft" to="." method="_on_resize_left_mouse_exited"]
|
||||||
|
[connection signal="item_selected" from="NinePatchRect/V/H2/VBoxContainer/Select" to="." method="_on_select_item_selected"]
|
||||||
|
[connection signal="pressed" from="NinePatchRect/V/H2/VBoxContainer/Quit" to="." method="_on_quit_pressed"]
|
||||||
|
[connection signal="mouse_entered" from="NinePatchRect/V/H2/ResizeRight" to="." method="_on_resize_right_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="NinePatchRect/V/H2/ResizeRight" to="." method="_on_resize_right_mouse_exited"]
|
||||||
|
[connection signal="mouse_entered" from="NinePatchRect/V/H3/ResizeBottomLeft" to="." method="_on_resize_bottom_left_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="NinePatchRect/V/H3/ResizeBottomLeft" to="." method="_on_resize_bottom_left_mouse_exited"]
|
||||||
|
[connection signal="mouse_entered" from="NinePatchRect/V/H3/ResizeBottom" to="." method="_on_resize_bottom_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="NinePatchRect/V/H3/ResizeBottom" to="." method="_on_resize_bottom_mouse_exited"]
|
||||||
|
[connection signal="mouse_entered" from="NinePatchRect/V/H3/ResizeBottomRight" to="." method="_on_resize_bottom_right_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="NinePatchRect/V/H3/ResizeBottomRight" to="." method="_on_resize_bottom_right_mouse_exited"]
|
BIN
scenes/languages/panel2.jpg
Normal file
BIN
scenes/languages/panel2.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
BIN
scenes/languages/panel2.png
Normal file
BIN
scenes/languages/panel2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
|
@ -7,7 +7,7 @@ declare FORCE=0
|
||||||
declare IMPORT=0
|
declare IMPORT=0
|
||||||
declare ERASEIMPORT=0
|
declare ERASEIMPORT=0
|
||||||
declare WORKDIR="$(dirname $(readlink -f $0))"
|
declare WORKDIR="$(dirname $(readlink -f $0))"
|
||||||
declare GODOT_SRC="https://downloads.tuxfamily.org/godotengine/4.0/alpha9/Godot_v4.0-alpha9_linux.64.zip"
|
declare GODOT_SRC="https://downloads.tuxfamily.org/godotengine/4.0/alpha10/Godot_v4.0-alpha10_linux.64.zip"
|
||||||
declare OUTZIP="$WORKDIR/$(basename $GODOT_SRC)"
|
declare OUTZIP="$WORKDIR/$(basename $GODOT_SRC)"
|
||||||
declare OPTION=""
|
declare OPTION=""
|
||||||
declare NEWPRG=0
|
declare NEWPRG=0
|
||||||
|
|
Loading…
Reference in a new issue