diff --git a/assets/controls/toggle switch/toggle_switch_base.svg b/assets/controls/toggle switch/base/toggle_switch_base.svg
similarity index 100%
rename from assets/controls/toggle switch/toggle_switch_base.svg
rename to assets/controls/toggle switch/base/toggle_switch_base.svg
diff --git a/assets/controls/toggle switch/toggle_switch_base.svg.import b/assets/controls/toggle switch/base/toggle_switch_base.svg.import
similarity index 75%
rename from assets/controls/toggle switch/toggle_switch_base.svg.import
rename to assets/controls/toggle switch/base/toggle_switch_base.svg.import
index 6bfa026..d1dab4b 100644
--- a/assets/controls/toggle switch/toggle_switch_base.svg.import
+++ b/assets/controls/toggle switch/base/toggle_switch_base.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cgw5y2x8pewd2"
-path="res://.godot/imported/toggle_switch_base.svg-0f86a9a036ce8290a834ca5049b4fb5c.ctex"
+path="res://.godot/imported/toggle_switch_base.svg-137cb8d7fef345bd427136d77262c646.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://assets/controls/toggle switch/toggle_switch_base.svg"
-dest_files=["res://.godot/imported/toggle_switch_base.svg-0f86a9a036ce8290a834ca5049b4fb5c.ctex"]
+source_file="res://assets/controls/toggle switch/base/toggle_switch_base.svg"
+dest_files=["res://.godot/imported/toggle_switch_base.svg-137cb8d7fef345bd427136d77262c646.ctex"]
[params]
diff --git a/assets/controls/toggle switch/toggle_switch_cover.svg b/assets/controls/toggle switch/base/toggle_switch_cover.svg
similarity index 80%
rename from assets/controls/toggle switch/toggle_switch_cover.svg
rename to assets/controls/toggle switch/base/toggle_switch_cover.svg
index 09ea9f7..51c335e 100644
--- a/assets/controls/toggle switch/toggle_switch_cover.svg
+++ b/assets/controls/toggle switch/base/toggle_switch_cover.svg
@@ -3,13 +3,13 @@
@@ -42,19 +42,19 @@
id="linearGradient32"
inkscape:collect="always">
@@ -62,15 +62,15 @@
id="linearGradient25"
inkscape:collect="always">
@@ -78,11 +78,11 @@
id="linearGradient24"
inkscape:collect="always">
@@ -90,15 +90,15 @@
id="linearGradient22"
inkscape:collect="always">
@@ -106,11 +106,11 @@
id="linearGradient8"
inkscape:collect="always">
@@ -159,7 +159,7 @@
x2="9.5657139"
y2="2.7055383"
gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.3125001,4.3432094)" />
+ gradientTransform="translate(-3.3125001,1.6604354)" />
+ gradientTransform="matrix(1,0,0,-0.50796895,-3.3125003,14.285455)" />
+ style="display:inline">
diff --git a/assets/controls/toggle switch/toggle_switch_cover.svg.import b/assets/controls/toggle switch/base/toggle_switch_cover.svg.import
similarity index 75%
rename from assets/controls/toggle switch/toggle_switch_cover.svg.import
rename to assets/controls/toggle switch/base/toggle_switch_cover.svg.import
index db8c173..f94bbe5 100644
--- a/assets/controls/toggle switch/toggle_switch_cover.svg.import
+++ b/assets/controls/toggle switch/base/toggle_switch_cover.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c3wxtdroykt2s"
-path="res://.godot/imported/toggle_switch_cover.svg-90c107ce31b8aeb9c50b5801b25df15a.ctex"
+path="res://.godot/imported/toggle_switch_cover.svg-9ef55fdbda96732c76ec82b6764ad43a.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://assets/controls/toggle switch/toggle_switch_cover.svg"
-dest_files=["res://.godot/imported/toggle_switch_cover.svg-90c107ce31b8aeb9c50b5801b25df15a.ctex"]
+source_file="res://assets/controls/toggle switch/base/toggle_switch_cover.svg"
+dest_files=["res://.godot/imported/toggle_switch_cover.svg-9ef55fdbda96732c76ec82b6764ad43a.ctex"]
[params]
diff --git a/assets/controls/toggle switch/toggle_switch_cover_down.svg b/assets/controls/toggle switch/cover/toggle_switch_cover_down.svg
similarity index 64%
rename from assets/controls/toggle switch/toggle_switch_cover_down.svg
rename to assets/controls/toggle switch/cover/toggle_switch_cover_down.svg
index 3ae2b82..ebf5604 100644
--- a/assets/controls/toggle switch/toggle_switch_cover_down.svg
+++ b/assets/controls/toggle switch/cover/toggle_switch_cover_down.svg
@@ -3,88 +3,129 @@
diff --git a/assets/controls/toggle switch/toggle_switch_cover_down.svg.import b/assets/controls/toggle switch/cover/toggle_switch_cover_down.svg.import
similarity index 80%
rename from assets/controls/toggle switch/toggle_switch_cover_down.svg.import
rename to assets/controls/toggle switch/cover/toggle_switch_cover_down.svg.import
index e378414..72b7d1e 100644
--- a/assets/controls/toggle switch/toggle_switch_cover_down.svg.import
+++ b/assets/controls/toggle switch/cover/toggle_switch_cover_down.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dvhjbvsdji6yx"
-path="res://.godot/imported/toggle_switch_cover_down.svg-5c44c208107e19170d8afb8ba41c3c8a.ctex"
+path="res://.godot/imported/toggle_switch_cover_down.svg-d6ea2fbc0db1d738e8307e693883821f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://assets/controls/toggle switch/toggle_switch_cover_down.svg"
-dest_files=["res://.godot/imported/toggle_switch_cover_down.svg-5c44c208107e19170d8afb8ba41c3c8a.ctex"]
+source_file="res://assets/controls/toggle switch/cover/toggle_switch_cover_down.svg"
+dest_files=["res://.godot/imported/toggle_switch_cover_down.svg-d6ea2fbc0db1d738e8307e693883821f.ctex"]
[params]
diff --git a/assets/controls/toggle switch/toggle_switch_cover_mount.svg b/assets/controls/toggle switch/cover/toggle_switch_cover_mount.svg
similarity index 65%
rename from assets/controls/toggle switch/toggle_switch_cover_mount.svg
rename to assets/controls/toggle switch/cover/toggle_switch_cover_mount.svg
index 61469da..1b64547 100644
--- a/assets/controls/toggle switch/toggle_switch_cover_mount.svg
+++ b/assets/controls/toggle switch/cover/toggle_switch_cover_mount.svg
@@ -3,88 +3,129 @@
diff --git a/assets/controls/toggle switch/toggle_switch_cover_mount.svg.import b/assets/controls/toggle switch/cover/toggle_switch_cover_mount.svg.import
similarity index 79%
rename from assets/controls/toggle switch/toggle_switch_cover_mount.svg.import
rename to assets/controls/toggle switch/cover/toggle_switch_cover_mount.svg.import
index 44f8d78..d7fbc3c 100644
--- a/assets/controls/toggle switch/toggle_switch_cover_mount.svg.import
+++ b/assets/controls/toggle switch/cover/toggle_switch_cover_mount.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://beuv78r3u5kmw"
-path="res://.godot/imported/toggle_switch_cover_mount.svg-04694c609f08845a3af95e43e0fb482e.ctex"
+path="res://.godot/imported/toggle_switch_cover_mount.svg-be7668136f613c40160b832ae24f87e8.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://assets/controls/toggle switch/toggle_switch_cover_mount.svg"
-dest_files=["res://.godot/imported/toggle_switch_cover_mount.svg-04694c609f08845a3af95e43e0fb482e.ctex"]
+source_file="res://assets/controls/toggle switch/cover/toggle_switch_cover_mount.svg"
+dest_files=["res://.godot/imported/toggle_switch_cover_mount.svg-be7668136f613c40160b832ae24f87e8.ctex"]
[params]
diff --git a/assets/controls/toggle switch/toggle_switch_cover_up.svg b/assets/controls/toggle switch/cover/toggle_switch_cover_up.svg
similarity index 64%
rename from assets/controls/toggle switch/toggle_switch_cover_up.svg
rename to assets/controls/toggle switch/cover/toggle_switch_cover_up.svg
index e74c824..db10cc1 100644
--- a/assets/controls/toggle switch/toggle_switch_cover_up.svg
+++ b/assets/controls/toggle switch/cover/toggle_switch_cover_up.svg
@@ -3,88 +3,129 @@
diff --git a/assets/controls/toggle switch/toggle_switch_cover_up.svg.import b/assets/controls/toggle switch/cover/toggle_switch_cover_up.svg.import
similarity index 74%
rename from assets/controls/toggle switch/toggle_switch_cover_up.svg.import
rename to assets/controls/toggle switch/cover/toggle_switch_cover_up.svg.import
index c05b277..7254815 100644
--- a/assets/controls/toggle switch/toggle_switch_cover_up.svg.import
+++ b/assets/controls/toggle switch/cover/toggle_switch_cover_up.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bgh8f7d1ccxau"
-path="res://.godot/imported/toggle_switch_cover_up.svg-286cfafabb52b6974bc0242b946b3789.ctex"
+path="res://.godot/imported/toggle_switch_cover_up.svg-caa5d415296529999d64f70e7bc44e2c.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://assets/controls/toggle switch/toggle_switch_cover_up.svg"
-dest_files=["res://.godot/imported/toggle_switch_cover_up.svg-286cfafabb52b6974bc0242b946b3789.ctex"]
+source_file="res://assets/controls/toggle switch/cover/toggle_switch_cover_up.svg"
+dest_files=["res://.godot/imported/toggle_switch_cover_up.svg-caa5d415296529999d64f70e7bc44e2c.ctex"]
[params]
diff --git a/base/controls/toggle switch/toggle_switch.gd b/base/controls/toggle switch/toggle_switch.gd
index af7df99..1d60f10 100644
--- a/base/controls/toggle switch/toggle_switch.gd
+++ b/base/controls/toggle switch/toggle_switch.gd
@@ -1,25 +1,38 @@
+@tool
extends Control
class_name ToggleSwitch
-enum SwitchTypes {Standard, Covered}
-@export var type : SwitchTypes = SwitchTypes.Standard
-
@onready var cover = $Cover
@onready var switch = $Switch
@onready var mount = $Mount
+enum SwitchTypes {Standard, Covered}
+@export var type : SwitchTypes = SwitchTypes.Standard:
+ set(new_type):
+ type = new_type
+ if Engine.is_editor_hint():
+ update_type()
+
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
- if type != SwitchTypes.Covered:
- cover.hide()
- mount.hide()
- switch.position = Vector2(0,0)
- custom_minimum_size = switch.size
+ update_type()
- if type == SwitchTypes.Covered:
- switch.reparent(cover)
+func update_type():
+ match type:
+ SwitchTypes.Standard:
+ cover.hide()
+ #mount.hide()
+ switch.position = Vector2(0,0)
+ custom_minimum_size = switch.size
+ SwitchTypes.Covered:
+ cover.show()
+ #mount.show()
+ switch.position = Vector2(0,35)
+ custom_minimum_size = mount.size
+ if not Engine.is_editor_hint():
+ switch.reparent(cover)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
diff --git a/base/controls/toggle switch/toggle_switch.tscn b/base/controls/toggle switch/toggle_switch.tscn
index 9719fc0..6f15674 100644
--- a/base/controls/toggle switch/toggle_switch.tscn
+++ b/base/controls/toggle switch/toggle_switch.tscn
@@ -1,30 +1,33 @@
[gd_scene format=3 uid="uid://cwtlsloppn32j"]
-[ext_resource type="Texture2D" uid="uid://beuv78r3u5kmw" path="res://assets/controls/toggle switch/toggle_switch_cover_mount.svg" id="1_8v6he"]
-[ext_resource type="Texture2D" uid="uid://bgh8f7d1ccxau" path="res://assets/controls/toggle switch/toggle_switch_cover_up.svg" id="1_15guj"]
+[ext_resource type="Texture2D" uid="uid://beuv78r3u5kmw" path="res://assets/controls/toggle switch/cover/toggle_switch_cover_mount.svg" id="1_8v6he"]
+[ext_resource type="Texture2D" uid="uid://bgh8f7d1ccxau" path="res://assets/controls/toggle switch/cover/toggle_switch_cover_up.svg" id="1_15guj"]
[ext_resource type="Texture2D" uid="uid://cgreenixf8e4l" path="res://assets/controls/toggle switch/toggle_switch_off.svg" id="1_juatt"]
[ext_resource type="Script" uid="uid://171lgou78rgg" path="res://base/controls/toggle switch/toggle_switch.gd" id="1_n4f2b"]
-[ext_resource type="Texture2D" uid="uid://dvhjbvsdji6yx" path="res://assets/controls/toggle switch/toggle_switch_cover_down.svg" id="2_8v6he"]
+[ext_resource type="Texture2D" uid="uid://dvhjbvsdji6yx" path="res://assets/controls/toggle switch/cover/toggle_switch_cover_down.svg" id="2_8v6he"]
[ext_resource type="Texture2D" uid="uid://f1b2iwaedol6" path="res://assets/controls/toggle switch/toggle_switch_on.svg" id="2_p5fqu"]
[node name="Toggle Switch" type="Control" unique_id=1882478056]
-custom_minimum_size = Vector2(150, 287)
+custom_minimum_size = Vector2(150, 200)
layout_mode = 3
anchors_preset = 0
offset_right = 150.0
offset_bottom = 287.0
+size_flags_horizontal = 4
+size_flags_vertical = 4
script = ExtResource("1_n4f2b")
[node name="Mount" type="TextureRect" parent="." unique_id=398456309]
+visible = false
layout_mode = 0
offset_right = 150.0
-offset_bottom = 300.0
+offset_bottom = 250.0
texture = ExtResource("1_8v6he")
[node name="Cover" type="TextureButton" parent="." unique_id=531410332]
layout_mode = 0
offset_right = 150.0
-offset_bottom = 300.0
+offset_bottom = 250.0
focus_mode = 0
toggle_mode = true
action_mode = 0
@@ -34,9 +37,9 @@ texture_pressed = ExtResource("2_8v6he")
[node name="Switch" type="TextureButton" parent="." unique_id=596357217]
layout_mode = 0
-offset_top = 60.0
+offset_top = 43.0
offset_right = 150.0
-offset_bottom = 260.0
+offset_bottom = 243.0
tooltip_text = "test
"
focus_mode = 0
diff --git a/data/control panels/developer/test_control_panel.tscn b/data/control panels/developer/test_control_panel.tscn
index 2e51cbf..f0092bb 100644
--- a/data/control panels/developer/test_control_panel.tscn
+++ b/data/control panels/developer/test_control_panel.tscn
@@ -13,17 +13,24 @@ layout_mode = 2
columns = 4
[node name="Toggle Switch" parent="GridContainer" unique_id=596357217 instance=ExtResource("1_4r0tw")]
+custom_minimum_size = Vector2(150, 250)
layout_mode = 2
type = 1
[node name="Toggle Switch2" parent="GridContainer" unique_id=1224040337 instance=ExtResource("1_4r0tw")]
+custom_minimum_size = Vector2(150, 250)
layout_mode = 2
+type = 1
[node name="Toggle Switch3" parent="GridContainer" unique_id=936272514 instance=ExtResource("1_4r0tw")]
+custom_minimum_size = Vector2(150, 250)
layout_mode = 2
+type = 1
[node name="Toggle Switch4" parent="GridContainer" unique_id=140758531 instance=ExtResource("1_4r0tw")]
+custom_minimum_size = Vector2(150, 250)
layout_mode = 2
+type = 1
[node name="Toggle Switch5" parent="GridContainer" unique_id=2113640046 instance=ExtResource("1_4r0tw")]
layout_mode = 2
diff --git a/project.godot b/project.godot
index acd55c4..7c7f750 100644
--- a/project.godot
+++ b/project.godot
@@ -12,7 +12,7 @@ config_version=5
config/name="Space Ship"
run/main_scene="uid://cipulg0k5jtnf"
-config/features=PackedStringArray("4.6", "GL Compatibility")
+config/features=PackedStringArray("4.7", "GL Compatibility")
config/icon="res://icon.svg"
[display]