diff --git a/Icons/RJAction.svg b/Icons/Action.svg
similarity index 90%
rename from Icons/RJAction.svg
rename to Icons/Action.svg
index 405b1f8..b0d21cc 100644
--- a/Icons/RJAction.svg
+++ b/Icons/Action.svg
@@ -5,7 +5,7 @@
width="16"
version="1.1"
id="svg4"
- sodipodi:docname="RJAction.svg"
+ sodipodi:docname="Action.svg"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@@ -24,7 +24,7 @@
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="20.727068"
- inkscape:cx="5.2588239"
+ inkscape:cx="4.7039938"
inkscape:cy="14.594442"
inkscape:window-width="1920"
inkscape:window-height="1017"
@@ -47,6 +47,6 @@
inkscape:rounded="0"
inkscape:randomized="0"
d="m -8.2018354,-10.088727 2.7783658,4.0935601 4.75176914,1.3774037 -3.03464454,3.90736248 0.1583886,4.94484222 -4.6538792,-1.6786771 -4.6538794,1.6786768 0.158389,-4.94484188 -3.034645,-3.90736292 4.751769,-1.3774033 z"
- inkscape:transform-center-y="-0.5885941"
- transform="matrix(0.77849339,0,0,0.77849339,14.385075,9.6742845)" />
+ inkscape:transform-center-y="-0.47475053"
+ transform="matrix(0.62792021,0,0,0.62792021,13.150099,9.3473789)" />
diff --git a/Icons/RJAction.svg.import b/Icons/Action.svg.import
similarity index 73%
rename from Icons/RJAction.svg.import
rename to Icons/Action.svg.import
index 961ff50..a0383ac 100644
--- a/Icons/RJAction.svg.import
+++ b/Icons/Action.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://3o4jrbvgynae"
-path="res://.godot/imported/RJAction.svg-988fbeddf1f77ded6809176cb9fee094.ctex"
+path="res://.godot/imported/Action.svg-82c50845f88e9ab1e6fe6837ddec7bbe.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://addons/rokojori_action_library/Icons/RJAction.svg"
-dest_files=["res://.godot/imported/RJAction.svg-988fbeddf1f77ded6809176cb9fee094.ctex"]
+source_file="res://addons/rokojori_action_library/Icons/Action.svg"
+dest_files=["res://.godot/imported/Action.svg-82c50845f88e9ab1e6fe6837ddec7bbe.ctex"]
[params]
diff --git a/Icons/RJActionList.svg b/Icons/ActionList.svg
similarity index 88%
rename from Icons/RJActionList.svg
rename to Icons/ActionList.svg
index 4d7dfb6..752f18b 100644
--- a/Icons/RJActionList.svg
+++ b/Icons/ActionList.svg
@@ -5,7 +5,7 @@
width="16"
version="1.1"
id="svg4"
- sodipodi:docname="RJActionList.svg"
+ sodipodi:docname="ActionList.svg"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@@ -24,7 +24,7 @@
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="20.727068"
- inkscape:cx="4.1491638"
+ inkscape:cx="3.5943337"
inkscape:cy="6.8750679"
inkscape:window-width="1920"
inkscape:window-height="1017"
@@ -50,8 +50,8 @@
inkscape:rounded="0"
inkscape:randomized="0"
d="m -8.2018354,-10.088727 2.7783658,4.0935601 4.75176914,1.3774037 -3.03464454,3.90736248 0.1583886,4.94484222 -4.6538792,-1.6786771 -4.6538794,1.6786768 0.158389,-4.94484188 -3.034645,-3.90736292 4.751769,-1.3774033 z"
- inkscape:transform-center-y="-0.30481267"
- transform="matrix(0.40315497,0,0,0.40315497,7.3950859,5.3238566)" />
+ inkscape:transform-center-y="-0.27584461"
+ transform="matrix(0.36484086,0,0,0.36484086,7.0808399,5.2406738)" />
+ inkscape:transform-center-y="-0.27160832"
+ transform="matrix(0.35923779,0,0,0.35923779,14.68189,5.2285091)" />
+ inkscape:transform-center-y="-0.26686528"
+ transform="matrix(0.35296391,0,0,0.35296391,6.9834271,12.447297)" />
+ inkscape:transform-center-y="-0.27170627"
+ transform="matrix(0.35936742,0,0,0.35936742,14.682953,12.4612)" />
diff --git a/Icons/RJActionList.svg.import b/Icons/ActionList.svg.import
similarity index 72%
rename from Icons/RJActionList.svg.import
rename to Icons/ActionList.svg.import
index ed1b890..6304ec6 100644
--- a/Icons/RJActionList.svg.import
+++ b/Icons/ActionList.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bsgb2qdpdftr4"
-path="res://.godot/imported/RJActionList.svg-7215a507296376afc809e1085f3d87c9.ctex"
+path="res://.godot/imported/ActionList.svg-9a9777047b7a7f6d64d6e0d451bdc117.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://addons/rokojori_action_library/Icons/RJActionList.svg"
-dest_files=["res://.godot/imported/RJActionList.svg-7215a507296376afc809e1085f3d87c9.ctex"]
+source_file="res://addons/rokojori_action_library/Icons/ActionList.svg"
+dest_files=["res://.godot/imported/ActionList.svg-9a9777047b7a7f6d64d6e0d451bdc117.ctex"]
[params]
diff --git a/Icons/RJActionSequence.svg b/Icons/ActionSequence.svg
similarity index 63%
rename from Icons/RJActionSequence.svg
rename to Icons/ActionSequence.svg
index 56ceb67..9fa56ce 100644
--- a/Icons/RJActionSequence.svg
+++ b/Icons/ActionSequence.svg
@@ -5,7 +5,7 @@
width="16"
version="1.1"
id="svg4"
- sodipodi:docname="RJActionSequence.svg"
+ sodipodi:docname="ActionSequence.svg"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@@ -23,24 +23,24 @@
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
- inkscape:zoom="20.727068"
- inkscape:cx="4.1491638"
- inkscape:cy="6.8750679"
+ inkscape:zoom="29.312501"
+ inkscape:cx="1.7739872"
+ inkscape:cy="7.8294241"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
- inkscape:current-layer="g560" />
+ inkscape:current-layer="g24518" />
+ transform="matrix(1.0694358,0,0,1.0694358,-0.2492632,0.12246375)">
+ id="g1610"
+ transform="matrix(0.92300089,0,0,0.92300089,0.58327263,0.55422328)">
+ inkscape:transform-center-y="0.23364876"
+ transform="matrix(-0.1584723,0,0,-0.1584723,2.8033776,3.6614705)" />
-
-
+ inkscape:transform-center-y="-0.71105763"
+ transform="matrix(0.48227504,0,0,0.48227504,8.058682,5.0735702)" />
-
-
-
+ inkscape:transform-center-y="-0.71105763"
+ transform="matrix(0.48227504,0,0,0.48227504,15.002513,5.0735702)" />
-
+ inkscape:transform-center-y="-0.71105763"
+ transform="matrix(0.48227504,0,0,0.48227504,8.058682,12.145366)" />
+
+
+
+
diff --git a/Icons/RJActionSequence.svg.import b/Icons/ActionSequence.svg.import
similarity index 71%
rename from Icons/RJActionSequence.svg.import
rename to Icons/ActionSequence.svg.import
index 6cfe9ce..8e961f9 100644
--- a/Icons/RJActionSequence.svg.import
+++ b/Icons/ActionSequence.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c6lekbldg584j"
-path="res://.godot/imported/RJActionSequence.svg-1ce6e79167ccb7f7d3246c49f748a320.ctex"
+path="res://.godot/imported/ActionSequence.svg-ece8edf3a7454b70d9fbe1ac56623bab.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://addons/rokojori_action_library/Icons/RJActionSequence.svg"
-dest_files=["res://.godot/imported/RJActionSequence.svg-1ce6e79167ccb7f7d3246c49f748a320.ctex"]
+source_file="res://addons/rokojori_action_library/Icons/ActionSequence.svg"
+dest_files=["res://.godot/imported/ActionSequence.svg-ece8edf3a7454b70d9fbe1ac56623bab.ctex"]
[params]
diff --git a/Icons/AxisSensor.svg b/Icons/AxisSensor.svg
new file mode 100644
index 0000000..d9853a6
--- /dev/null
+++ b/Icons/AxisSensor.svg
@@ -0,0 +1,352 @@
+
+
diff --git a/Icons/AxisSensor.svg.import b/Icons/AxisSensor.svg.import
new file mode 100644
index 0000000..f9748e5
--- /dev/null
+++ b/Icons/AxisSensor.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gavrlc4lu45n"
+path="res://.godot/imported/AxisSensor.svg-6cf7367c831e5be6a9ae1879d08a33eb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/AxisSensor.svg"
+dest_files=["res://.godot/imported/AxisSensor.svg-6cf7367c831e5be6a9ae1879d08a33eb.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/Grabbable.svg b/Icons/Grabbable.svg
new file mode 100644
index 0000000..ae985b4
--- /dev/null
+++ b/Icons/Grabbable.svg
@@ -0,0 +1,214 @@
+
+
diff --git a/Icons/Grabbable.svg.import b/Icons/Grabbable.svg.import
new file mode 100644
index 0000000..53913e9
--- /dev/null
+++ b/Icons/Grabbable.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b0uqq022utg37"
+path="res://.godot/imported/Grabbable.svg-0da8653c83f15d592aa8168e8c70026f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/Grabbable.svg"
+dest_files=["res://.godot/imported/Grabbable.svg-0da8653c83f15d592aa8168e8c70026f.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/Grabber.svg b/Icons/Grabber.svg
new file mode 100644
index 0000000..0903ed6
--- /dev/null
+++ b/Icons/Grabber.svg
@@ -0,0 +1,221 @@
+
+
diff --git a/Icons/Grabber.svg.import b/Icons/Grabber.svg.import
new file mode 100644
index 0000000..961753f
--- /dev/null
+++ b/Icons/Grabber.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxwuxsmcjv75d"
+path="res://.godot/imported/Grabber.svg-5aeb5a68ec069e01c9e593ca3f4dfb38.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/Grabber.svg"
+dest_files=["res://.godot/imported/Grabber.svg-5aeb5a68ec069e01c9e593ca3f4dfb38.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/RJIcon.svg b/Icons/Icon.svg
similarity index 97%
rename from Icons/RJIcon.svg
rename to Icons/Icon.svg
index 4b4c3cd..893665c 100644
--- a/Icons/RJIcon.svg
+++ b/Icons/Icon.svg
@@ -5,7 +5,7 @@
width="16"
version="1.1"
id="svg4"
- sodipodi:docname="RJIcon.svg"
+ sodipodi:docname="Icon.svg"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
diff --git a/Icons/RJIcon.svg.import b/Icons/Icon.svg.import
similarity index 73%
rename from Icons/RJIcon.svg.import
rename to Icons/Icon.svg.import
index 7e8ece4..97c00f6 100644
--- a/Icons/RJIcon.svg.import
+++ b/Icons/Icon.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cg5fnpnwnnlxp"
-path="res://.godot/imported/RJIcon.svg-8e2fc142259b1ef6a7b9d44d49ea7566.ctex"
+path="res://.godot/imported/Icon.svg-51e38493cf1aa16c6588c41e0b74c97c.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://addons/rokojori_action_library/Icons/RJIcon.svg"
-dest_files=["res://.godot/imported/RJIcon.svg-8e2fc142259b1ef6a7b9d44d49ea7566.ctex"]
+source_file="res://addons/rokojori_action_library/Icons/Icon.svg"
+dest_files=["res://.godot/imported/Icon.svg-51e38493cf1aa16c6588c41e0b74c97c.ctex"]
[params]
diff --git a/Icons/Interactable.svg b/Icons/Interactable.svg
new file mode 100644
index 0000000..cbd2c4f
--- /dev/null
+++ b/Icons/Interactable.svg
@@ -0,0 +1,180 @@
+
+
diff --git a/Icons/Interactable.svg.import b/Icons/Interactable.svg.import
new file mode 100644
index 0000000..ef6b445
--- /dev/null
+++ b/Icons/Interactable.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dsobpcfnbl3yh"
+path="res://.godot/imported/Interactable.svg-37e8f66f2c59d8ded3bc6d723fc6b932.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/Interactable.svg"
+dest_files=["res://.godot/imported/Interactable.svg-37e8f66f2c59d8ded3bc6d723fc6b932.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/Interaction.svg b/Icons/Interaction.svg
new file mode 100644
index 0000000..74371a7
--- /dev/null
+++ b/Icons/Interaction.svg
@@ -0,0 +1,180 @@
+
+
diff --git a/Icons/Interaction.svg.import b/Icons/Interaction.svg.import
new file mode 100644
index 0000000..2c05ed6
--- /dev/null
+++ b/Icons/Interaction.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://72hiaxwqssba"
+path="res://.godot/imported/Interaction.svg-7abdbdd0fe83e6790fa81986a0e87216.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/Interaction.svg"
+dest_files=["res://.godot/imported/Interaction.svg-7abdbdd0fe83e6790fa81986a0e87216.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/Interactor.svg b/Icons/Interactor.svg
new file mode 100644
index 0000000..3d05ab8
--- /dev/null
+++ b/Icons/Interactor.svg
@@ -0,0 +1,187 @@
+
+
diff --git a/Icons/Interactor.svg.import b/Icons/Interactor.svg.import
new file mode 100644
index 0000000..d1f06b1
--- /dev/null
+++ b/Icons/Interactor.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://pegsi71uufbh"
+path="res://.godot/imported/Interactor.svg-65cac0aa4d67078d692a28311fbf5325.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/Interactor.svg"
+dest_files=["res://.godot/imported/Interactor.svg-65cac0aa4d67078d692a28311fbf5325.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/KeySensor.svg b/Icons/KeySensor.svg
new file mode 100644
index 0000000..a18cc13
--- /dev/null
+++ b/Icons/KeySensor.svg
@@ -0,0 +1,311 @@
+
+
diff --git a/Icons/KeySensor.svg.import b/Icons/KeySensor.svg.import
new file mode 100644
index 0000000..c131469
--- /dev/null
+++ b/Icons/KeySensor.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c2tqo68q04j40"
+path="res://.godot/imported/KeySensor.svg-c9fe6581695a6d92058e029f87914510.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/KeySensor.svg"
+dest_files=["res://.godot/imported/KeySensor.svg-c9fe6581695a6d92058e029f87914510.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/MouseSensor.svg b/Icons/MouseSensor.svg
new file mode 100644
index 0000000..86b8533
--- /dev/null
+++ b/Icons/MouseSensor.svg
@@ -0,0 +1,269 @@
+
+
diff --git a/Icons/MouseSensor.svg.import b/Icons/MouseSensor.svg.import
new file mode 100644
index 0000000..6518122
--- /dev/null
+++ b/Icons/MouseSensor.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://pr825l5ymdfx"
+path="res://.godot/imported/MouseSensor.svg-59beb8baad0a5cba47ed3ae1207d3a5b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/MouseSensor.svg"
+dest_files=["res://.godot/imported/MouseSensor.svg-59beb8baad0a5cba47ed3ae1207d3a5b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/NetworkManager.svg b/Icons/NetworkManager.svg
new file mode 100644
index 0000000..2cefb36
--- /dev/null
+++ b/Icons/NetworkManager.svg
@@ -0,0 +1,269 @@
+
+
diff --git a/Icons/NetworkManager.svg.import b/Icons/NetworkManager.svg.import
new file mode 100644
index 0000000..16886c8
--- /dev/null
+++ b/Icons/NetworkManager.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://32aeylasa0ky"
+path="res://.godot/imported/NetworkManager.svg-3db3dd7763b4849d5383410aeff09c5f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/NetworkManager.svg"
+dest_files=["res://.godot/imported/NetworkManager.svg-3db3dd7763b4849d5383410aeff09c5f.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/RJOnEvent.svg b/Icons/OnEvent.svg
similarity index 98%
rename from Icons/RJOnEvent.svg
rename to Icons/OnEvent.svg
index d071c20..2ede91c 100644
--- a/Icons/RJOnEvent.svg
+++ b/Icons/OnEvent.svg
@@ -5,7 +5,7 @@
width="16"
version="1.1"
id="svg4"
- sodipodi:docname="RJOnEvent.svg"
+ sodipodi:docname="OnEvent.svg"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
diff --git a/Icons/RJOnEvent.svg.import b/Icons/OnEvent.svg.import
similarity index 73%
rename from Icons/RJOnEvent.svg.import
rename to Icons/OnEvent.svg.import
index ddf1099..1c7c283 100644
--- a/Icons/RJOnEvent.svg.import
+++ b/Icons/OnEvent.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c7ie66dc2001j"
-path="res://.godot/imported/RJOnEvent.svg-678c3e44ce4ea495de01231d4169e9d8.ctex"
+path="res://.godot/imported/OnEvent.svg-338a6884bd84489ec6cf8280c7936bdb.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://addons/rokojori_action_library/Icons/RJOnEvent.svg"
-dest_files=["res://.godot/imported/RJOnEvent.svg-678c3e44ce4ea495de01231d4169e9d8.ctex"]
+source_file="res://addons/rokojori_action_library/Icons/OnEvent.svg"
+dest_files=["res://.godot/imported/OnEvent.svg-338a6884bd84489ec6cf8280c7936bdb.ctex"]
[params]
diff --git a/Icons/Parallel.svg b/Icons/Parallel.svg
new file mode 100644
index 0000000..165be6f
--- /dev/null
+++ b/Icons/Parallel.svg
@@ -0,0 +1,160 @@
+
+
diff --git a/Icons/Parallel.svg.import b/Icons/Parallel.svg.import
new file mode 100644
index 0000000..7822944
--- /dev/null
+++ b/Icons/Parallel.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cndgst3kope17"
+path="res://.godot/imported/Parallel.svg-17a3b7f341c0cfd7d69668a21ce1825c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/Parallel.svg"
+dest_files=["res://.godot/imported/Parallel.svg-17a3b7f341c0cfd7d69668a21ce1825c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/Pointable.svg b/Icons/Pointable.svg
new file mode 100644
index 0000000..2512aaa
--- /dev/null
+++ b/Icons/Pointable.svg
@@ -0,0 +1,225 @@
+
+
diff --git a/Icons/Pointable.svg.import b/Icons/Pointable.svg.import
new file mode 100644
index 0000000..0876a21
--- /dev/null
+++ b/Icons/Pointable.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nuhht3627ops"
+path="res://.godot/imported/Pointable.svg-0c0959824fd80e294261cbdd655ab014.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/Pointable.svg"
+dest_files=["res://.godot/imported/Pointable.svg-0c0959824fd80e294261cbdd655ab014.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/Pointer.svg b/Icons/Pointer.svg
new file mode 100644
index 0000000..ab7b017
--- /dev/null
+++ b/Icons/Pointer.svg
@@ -0,0 +1,198 @@
+
+
diff --git a/Icons/Pointer.svg.import b/Icons/Pointer.svg.import
new file mode 100644
index 0000000..a633bb5
--- /dev/null
+++ b/Icons/Pointer.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cm3x7y4v4kkyl"
+path="res://.godot/imported/Pointer.svg-b3749204433b52763a9824e4f7fd7336.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/Pointer.svg"
+dest_files=["res://.godot/imported/Pointer.svg-b3749204433b52763a9824e4f7fd7336.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/RJSelector.svg b/Icons/Selector.svg
similarity index 98%
rename from Icons/RJSelector.svg
rename to Icons/Selector.svg
index b72f716..1ebb9f2 100644
--- a/Icons/RJSelector.svg
+++ b/Icons/Selector.svg
@@ -5,7 +5,7 @@
width="16"
version="1.1"
id="svg4"
- sodipodi:docname="RJSelector.svg"
+ sodipodi:docname="Selector.svg"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
diff --git a/Icons/RJSelector.svg.import b/Icons/Selector.svg.import
similarity index 72%
rename from Icons/RJSelector.svg.import
rename to Icons/Selector.svg.import
index 7cbca4f..2883b34 100644
--- a/Icons/RJSelector.svg.import
+++ b/Icons/Selector.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://di5twkhxs6ldl"
-path="res://.godot/imported/RJSelector.svg-6a7c010efebc230663b06363c5e9229f.ctex"
+path="res://.godot/imported/Selector.svg-2f568de1b2ffd67ad0677b1a0c6c971b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://addons/rokojori_action_library/Icons/RJSelector.svg"
-dest_files=["res://.godot/imported/RJSelector.svg-6a7c010efebc230663b06363c5e9229f.ctex"]
+source_file="res://addons/rokojori_action_library/Icons/Selector.svg"
+dest_files=["res://.godot/imported/Selector.svg-2f568de1b2ffd67ad0677b1a0c6c971b.ctex"]
[params]
diff --git a/Icons/RJSensor.svg b/Icons/Sensor.svg
similarity index 51%
rename from Icons/RJSensor.svg
rename to Icons/Sensor.svg
index 2829663..f7a9c6b 100644
--- a/Icons/RJSensor.svg
+++ b/Icons/Sensor.svg
@@ -5,7 +5,7 @@
width="16"
version="1.1"
id="svg4"
- sodipodi:docname="RJSensor.svg"
+ sodipodi:docname="Sensor.svg"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@@ -14,15 +14,55 @@
xmlns:svg="http://www.w3.org/2000/svg">
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -30,11 +70,11 @@
inkscape:collect="never"
id="linearGradient10150">
@@ -62,11 +102,11 @@
offset="0"
id="stop2766" />
@@ -100,7 +140,7 @@
fx="6.0584679"
fy="3.4481783"
r="6.1221313"
- gradientTransform="matrix(5.0352929,0,0,3.1702171,-26.446874,-8.2080957)"
+ gradientTransform="matrix(5.0826908,0,0,3.6467239,-26.77129,-10.822414)"
gradientUnits="userSpaceOnUse" />
+ gradientTransform="matrix(1.3511087,0.88894441,-1.2043804,1.1301171,-4.5428393,-3.1234193)" />
+ gradientTransform="matrix(1.0751754,0,0,1.2252487,-0.6027053,-1.4277294)" />
+
+
+
+ cy="10.25031"
+ rx="8.048171"
+ ry="5.7743936" />
+ transform="matrix(1.1524743,0,0,1.519301,-1.222435,-4.3041191)">
+ style="fill:url(#linearGradient21854);fill-opacity:1;stroke-width:10.8761;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
+ d="m 8.0173214,5.9128109 a 5.9294205,3.2270737 0 0 0 -0.670585,0.022181 h -4.75739 L 2.0590368,9.0714601 h 0.035924 a 5.9294205,3.2270737 0 0 0 -0.00684,0.069502 5.9294205,3.2270737 0 0 0 5.9292031,3.2266729 5.9294205,3.2270737 0 0 0 5.9189381,-3.1290742 l 0.0633,0.00148 -0.578208,-3.3050473 H 8.6964598 A 5.9294205,3.2270737 0 0 0 8.0173214,5.9128109 Z" />
+ cy="4.9702082"
+ rx="6.2830691"
+ ry="4.5079699" />
+ cx="8.0345392"
+ cy="4.6562648"
+ rx="6.17976"
+ ry="4.4338484" />
+ style="fill:url(#radialGradient2793);fill-opacity:1;stroke-width:5.72241;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
+ d="M 5.5706776,1.8371519 4.5454923,2.6482085 7.0000224,4.5871055 4.5454923,6.5260025 5.5706777,7.3348126 8.0252074,5.3959153 10.477767,7.3348125 11.502951,6.5260027 9.0484216,4.5871058 11.502951,2.6482085 10.477767,1.8371519 8.0252076,3.7760489 Z" />
diff --git a/Icons/RJSensor.svg.import b/Icons/Sensor.svg.import
similarity index 73%
rename from Icons/RJSensor.svg.import
rename to Icons/Sensor.svg.import
index 6d34ed9..6da9930 100644
--- a/Icons/RJSensor.svg.import
+++ b/Icons/Sensor.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cexdhupggsnhd"
-path="res://.godot/imported/RJSensor.svg-7f213641b40eaf775c1d6f373c7584c7.ctex"
+path="res://.godot/imported/Sensor.svg-065ff7d96e1a9bba60d30792650f2335.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://addons/rokojori_action_library/Icons/RJSensor.svg"
-dest_files=["res://.godot/imported/RJSensor.svg-7f213641b40eaf775c1d6f373c7584c7.ctex"]
+source_file="res://addons/rokojori_action_library/Icons/Sensor.svg"
+dest_files=["res://.godot/imported/Sensor.svg-065ff7d96e1a9bba60d30792650f2335.ctex"]
[params]
diff --git a/Icons/SensorGroup.svg b/Icons/SensorGroup.svg
new file mode 100644
index 0000000..db23678
--- /dev/null
+++ b/Icons/SensorGroup.svg
@@ -0,0 +1,464 @@
+
+
diff --git a/Icons/SensorGroup.svg.import b/Icons/SensorGroup.svg.import
new file mode 100644
index 0000000..1b9a6b8
--- /dev/null
+++ b/Icons/SensorGroup.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dwh3l208lewkp"
+path="res://.godot/imported/SensorGroup.svg-ad5ecf9af912b8be221cb2da94be3725.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/SensorGroup.svg"
+dest_files=["res://.godot/imported/SensorGroup.svg-ad5ecf9af912b8be221cb2da94be3725.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/SensorManager.svg b/Icons/SensorManager.svg
new file mode 100644
index 0000000..5079165
--- /dev/null
+++ b/Icons/SensorManager.svg
@@ -0,0 +1,257 @@
+
+
diff --git a/Icons/SensorManager.svg.import b/Icons/SensorManager.svg.import
new file mode 100644
index 0000000..9c4e9a7
--- /dev/null
+++ b/Icons/SensorManager.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://wkope1iiubbu"
+path="res://.godot/imported/SensorManager.svg-5556fbf7de09405281f6d8a1bff3435b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/SensorManager.svg"
+dest_files=["res://.godot/imported/SensorManager.svg-5556fbf7de09405281f6d8a1bff3435b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/SequenceAction.svg b/Icons/SequenceAction.svg
new file mode 100644
index 0000000..bd72102
--- /dev/null
+++ b/Icons/SequenceAction.svg
@@ -0,0 +1,73 @@
+
+
diff --git a/Icons/SequenceAction.svg.import b/Icons/SequenceAction.svg.import
new file mode 100644
index 0000000..007315f
--- /dev/null
+++ b/Icons/SequenceAction.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://i7253uaua0gd"
+path="res://.godot/imported/SequenceAction.svg-e3f1802807a3426cb386b3e51e81c102.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/SequenceAction.svg"
+dest_files=["res://.godot/imported/SequenceAction.svg-e3f1802807a3426cb386b3e51e81c102.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/TimeLineManager.svg b/Icons/TimeLineManager.svg
new file mode 100644
index 0000000..354dd7c
--- /dev/null
+++ b/Icons/TimeLineManager.svg
@@ -0,0 +1,125 @@
+
+
diff --git a/Icons/TimeLineManager.svg.import b/Icons/TimeLineManager.svg.import
new file mode 100644
index 0000000..6209620
--- /dev/null
+++ b/Icons/TimeLineManager.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bujyx7ltsi40k"
+path="res://.godot/imported/TimeLineManager.svg-dd6b4ada11f698cccbfe51b895d69a3b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/TimeLineManager.svg"
+dest_files=["res://.godot/imported/TimeLineManager.svg-dd6b4ada11f698cccbfe51b895d69a3b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/VirtualCamera3D.svg b/Icons/VirtualCamera3D.svg
new file mode 100644
index 0000000..a254aa7
--- /dev/null
+++ b/Icons/VirtualCamera3D.svg
@@ -0,0 +1,82 @@
+
+
diff --git a/Icons/VirtualCamera3D.svg.import b/Icons/VirtualCamera3D.svg.import
new file mode 100644
index 0000000..9b9b3c3
--- /dev/null
+++ b/Icons/VirtualCamera3D.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxdvx5tigra2g"
+path="res://.godot/imported/VirtualCamera3D.svg-75ca30fbde42c7b5db4a27c9bb337bf7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/VirtualCamera3D.svg"
+dest_files=["res://.godot/imported/VirtualCamera3D.svg-75ca30fbde42c7b5db4a27c9bb337bf7.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/VirtualCamera3DSlot.svg b/Icons/VirtualCamera3DSlot.svg
index f0b4924..4ea6451 100644
--- a/Icons/VirtualCamera3DSlot.svg
+++ b/Icons/VirtualCamera3DSlot.svg
@@ -66,12 +66,12 @@
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="22.627418"
- inkscape:cx="17.390407"
- inkscape:cy="0"
- inkscape:window-width="3840"
- inkscape:window-height="2066"
- inkscape:window-x="-11"
- inkscape:window-y="-11"
+ inkscape:cx="16.904271"
+ inkscape:cy="0.022097086"
+ inkscape:window-width="1920"
+ inkscape:window-height="1017"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g2210" />
+
diff --git a/Icons/VirtualCameraManager.svg.import b/Icons/VirtualCameraManager.svg.import
new file mode 100644
index 0000000..a44d50b
--- /dev/null
+++ b/Icons/VirtualCameraManager.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://mr6ljm3vhowt"
+path="res://.godot/imported/VirtualCameraManager.svg-26f8fa343c5a3dae871a32a9afa022f2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/VirtualCameraManager.svg"
+dest_files=["res://.godot/imported/VirtualCameraManager.svg-26f8fa343c5a3dae871a32a9afa022f2.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+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/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Runtime/Actions/Action.cs b/Runtime/Actions/Action.cs
index 27ff3ab..29013dd 100644
--- a/Runtime/Actions/Action.cs
+++ b/Runtime/Actions/Action.cs
@@ -5,7 +5,7 @@ using System.Collections.Generic;
namespace Rokojori
{
- [GlobalClass ]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/Action.svg")]
public partial class Action : NetworkNode
{
NetworkNodeSlot _seedSlot = new NetworkNodeSlot();
diff --git a/Runtime/Actions/ActionList.cs b/Runtime/Actions/ActionList.cs
index d6b32b5..6a6e70a 100644
--- a/Runtime/Actions/ActionList.cs
+++ b/Runtime/Actions/ActionList.cs
@@ -18,7 +18,7 @@ namespace Rokojori
*/
-
+
[GlobalClass, Icon("res://addons/rokojori_action_library/Icons/ActionList.svg") ]
public partial class ActionList : Action
{
diff --git a/Runtime/Actions/ActionSequence.cs b/Runtime/Actions/ActionSequence.cs
index 866ba04..08e8c1b 100644
--- a/Runtime/Actions/ActionSequence.cs
+++ b/Runtime/Actions/ActionSequence.cs
@@ -161,7 +161,7 @@ namespace Rokojori
return;
}
- RJLog.Log( "Triggering Action", actions[ i ].Name );
+ // RJLog.Log( "Triggering Action", actions[ i ].Name );
Action.Trigger( actions[ i ] );
}
@@ -179,7 +179,7 @@ namespace Rokojori
return;
}
- RJLog.Log( "Triggering Action", actions[ i ].Name );
+ // RJLog.Log( "Triggering Action", actions[ i ].Name );
Action.Trigger( actions[ i ] );
}
diff --git a/Runtime/Actions/OnPhysicsProcess.cs b/Runtime/Actions/OnPhysicsProcess.cs
index 722844b..a0fe273 100644
--- a/Runtime/Actions/OnPhysicsProcess.cs
+++ b/Runtime/Actions/OnPhysicsProcess.cs
@@ -4,7 +4,7 @@ using Godot;
namespace Rokojori
{
- [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/RJOnEvent.svg") ]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/OnEvent.svg") ]
public partial class OnPhysicsProcess : Node
{
/** Actions to execute*/
diff --git a/Runtime/Actions/OnProcess.cs b/Runtime/Actions/OnProcess.cs
index f92e394..89d99a4 100644
--- a/Runtime/Actions/OnProcess.cs
+++ b/Runtime/Actions/OnProcess.cs
@@ -4,7 +4,7 @@ using Godot;
namespace Rokojori
{
- [GlobalClass, Tool, Icon("res://addons/rokojori_action_library/Icons/RJOnEvent.svg") ]
+ [GlobalClass, Tool, Icon("res://addons/rokojori_action_library/Icons/OnEvent.svg") ]
public partial class OnProcess : Node
{
/** Actions to execute*/
diff --git a/Runtime/Actions/OnReady.cs b/Runtime/Actions/OnReady.cs
index f28dea2..562e37b 100644
--- a/Runtime/Actions/OnReady.cs
+++ b/Runtime/Actions/OnReady.cs
@@ -4,7 +4,7 @@ using Godot;
namespace Rokojori
{
- [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/RJOnEvent.svg") ]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/OnEvent.svg") ]
public partial class OnReady : Node
{
/** Actions to execute*/
diff --git a/Runtime/Actions/Sequence/Parallel.cs b/Runtime/Actions/Sequence/Parallel.cs
new file mode 100644
index 0000000..cb93a9a
--- /dev/null
+++ b/Runtime/Actions/Sequence/Parallel.cs
@@ -0,0 +1,99 @@
+
+using Godot;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/Parallel.svg") ]
+ public partial class Parallel : SequenceAction
+ {
+ public enum Mode
+ {
+ First_Finishes_Sequence,
+ Wait_For_All_To_Finish
+ }
+
+ [Export]
+ public Mode mode = Mode.Wait_For_All_To_Finish;
+
+ [Export]
+ public Action[] actions;
+
+ [Export]
+ public bool triggerDirectChildren = true;
+
+ [Export]
+ public bool ignoreNonSequenceActions = true;
+
+ [Export]
+ public bool errorsCountAsFinished = false;
+
+
+ protected override void _OnTrigger()
+ {
+ var actions = new List( this.actions );
+
+ if ( triggerDirectChildren )
+ {
+ Nodes.ForEachDirectChild( this, a => actions.Add( a ) );
+ }
+
+ var sequenceActions = Lists.FilterAndMap( actions, ( a, i ) => a is SequenceAction, a => (SequenceAction) a );
+
+ var sequenceID = DispatchStart();
+
+ if ( ! ignoreNonSequenceActions && sequenceActions.Count != actions.Count && Mode.First_Finishes_Sequence == mode )
+ {
+ actions.ForEach( a => Action.Trigger( a ) );
+ DispatchEnd( sequenceID );
+ return;
+ }
+
+
+ var numFinished = 0;
+ var running = true;
+
+ sequenceActions.ForEach(
+ sa =>
+ {
+ sa.onSequenceDone.Once(
+ ( fe )=>
+ {
+ if ( ! running )
+ {
+ return;
+ }
+
+ if ( fe.success || errorsCountAsFinished )
+ {
+ numFinished ++;
+
+ if ( Mode.First_Finishes_Sequence == mode )
+ {
+ running = false;
+ DispatchEnd( sequenceID );
+
+ }
+ else if ( Mode.Wait_For_All_To_Finish == mode )
+ {
+ if ( numFinished == sequenceActions.Count )
+ {
+ running = false;
+ DispatchEnd( sequenceID );
+ }
+ }
+ }
+ else
+ {
+ running = false;
+ DispatchCancelled( sequenceID );
+ }
+ }
+ );
+ }
+ );
+
+ actions.ForEach( a => Action.Trigger( a ) );
+ }
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Actions/SequenceAction.cs b/Runtime/Actions/SequenceAction.cs
index 2e2a5ec..828d7fc 100644
--- a/Runtime/Actions/SequenceAction.cs
+++ b/Runtime/Actions/SequenceAction.cs
@@ -11,7 +11,7 @@ namespace Rokojori
public bool success;
}
- [GlobalClass ]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/SequenceAction.svg")]
public partial class SequenceAction : Action
{
diff --git a/Runtime/Actions/Time/Delay.cs b/Runtime/Actions/Time/Delay.cs
index 128de8a..b2a5cb1 100644
--- a/Runtime/Actions/Time/Delay.cs
+++ b/Runtime/Actions/Time/Delay.cs
@@ -10,9 +10,6 @@ namespace Rokojori
[Export]
public float duration;
- [Export]
- public string message;
-
[Export]
public TimeLine timeLine;
@@ -22,15 +19,11 @@ namespace Rokojori
var sequenceID = DispatchStart();
var eventID = TimeLineManager.ScheduleEventIn( timeLine, duration,
- ( eventID ) =>
+ ( tle ) =>
{
- RJLog.Log( ">> delay ended", Time.GetTicksMsec(), sequenceID, eventID );
DispatchEnd( sequenceID );
-
}
);
-
- RJLog.Log( ">> delay started", Time.GetTicksMsec(), sequenceID, eventID );
}
diff --git a/Runtime/Animation/Follow.cs b/Runtime/Animation/Follow.cs
index 9fba544..a98d1e0 100644
--- a/Runtime/Animation/Follow.cs
+++ b/Runtime/Animation/Follow.cs
@@ -27,7 +27,7 @@ namespace Rokojori
public override void _Process( double delta )
{
- if ( positionSmoothing != null && positionSmoothing is ExpSmoothing exp )
+ /*if ( positionSmoothing != null && positionSmoothing is ExpSmoothing exp )
{
if ( _lastCoefficient != exp.coefficient )
{
@@ -56,6 +56,8 @@ namespace Rokojori
}
}
+ */
+
if ( source == null || target == null || Engine.IsEditorHint() )
{
return;
diff --git a/Runtime/Animation/Highlight/Presets/White Outline - Highlight.tres b/Runtime/Animation/Highlight/Presets/White Outline - Highlight.tres
index d836046..dfb47fd 100644
--- a/Runtime/Animation/Highlight/Presets/White Outline - Highlight.tres
+++ b/Runtime/Animation/Highlight/Presets/White Outline - Highlight.tres
@@ -1,4 +1,4 @@
-[gd_resource type="Resource" script_class="HighlightEffect" load_steps=6 format=3 uid="uid://dadr1kd14m7g3"]
+[gd_resource type="Resource" script_class="HighlightEffect" load_steps=7 format=3 uid="uid://dadr1kd14m7g3"]
[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="1_sk831"]
[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Animation/Highlight/HighlightEffect.cs" id="2_pq63c"]
@@ -11,6 +11,10 @@ colorMultiply = 1.0
rgbMultiply = 1.0
alphaMultiply = 1.0
+[sub_resource type="Curve" id="Curve_idts4"]
+_data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0]
+point_count = 2
+
[sub_resource type="Curve" id="Curve_q8jgr"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.503676, 0.105417), 0.560859, 0.560859, 0, 0, Vector2(1, 1), 4.02668, 0.0, 0, 0]
point_count = 3
@@ -19,6 +23,7 @@ point_count = 3
script = ExtResource("2_pq63c")
timeline = ExtResource("3_8mahg")
inDuration = 0.167
+inCurve = SubResource("Curve_idts4")
outDuration = 0.333
outCurve = SubResource("Curve_q8jgr")
color = SubResource("Resource_27v41")
diff --git a/Runtime/Animation/Shake/Presets/Mini Poke - Shake.tres b/Runtime/Animation/Shake/Presets/Mini Poke - Shake.tres
new file mode 100644
index 0000000..14cb1d7
--- /dev/null
+++ b/Runtime/Animation/Shake/Presets/Mini Poke - Shake.tres
@@ -0,0 +1,49 @@
+[gd_resource type="Resource" script_class="ShakeEffect" load_steps=8 format=3 uid="uid://begmg64jiaoq0"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Animation/Shake/ShakeEffect.cs" id="1_gbi52"]
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="2_g6huw"]
+[ext_resource type="Resource" uid="uid://h6oi6vkj4c2m" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/RealTime.tres" id="3_pgufg"]
+
+[sub_resource type="Curve" id="Curve_j2uji"]
+_data = [Vector2(0, 1), 0.0, -10.6006, 0, 0, Vector2(0.136364, 0.260804), -1.02995, -1.02995, 0, 0, Vector2(1, 0), -0.00696731, 0.0, 0, 0]
+point_count = 3
+
+[sub_resource type="Resource" id="Resource_jwnpm"]
+script = ExtResource("2_g6huw")
+duration = 1.0
+durationRandomRange = 0.0
+delay = 0.0
+delayRandomRange = 0.0
+curve = SubResource("Curve_j2uji")
+scaleY = 1.0
+scaleRandomRange = 0.0
+
+[sub_resource type="Curve" id="Curve_c1l7g"]
+min_value = -1.0
+_data = [Vector2(0, 1), 0.0, 0.0, 0, 1, Vector2(1, 1), 0.0, 0.0, 1, 0]
+point_count = 2
+
+[sub_resource type="Resource" id="Resource_qub8t"]
+script = ExtResource("2_g6huw")
+duration = 1.0
+durationRandomRange = 0.0
+delay = 0.0
+delayRandomRange = 0.0
+curve = SubResource("Curve_c1l7g")
+scaleY = 30.0
+scaleRandomRange = 0.0
+
+[resource]
+script = ExtResource("1_gbi52")
+shakeAmountCurve = SubResource("Resource_jwnpm")
+shakeChangeFPSCurve = SubResource("Resource_qub8t")
+timeline = ExtResource("3_pgufg")
+smooth = true
+smoothingStrength = 0.477
+positionShake = Vector3(0.075, 0, 0.075)
+globalPosition = true
+repeatAndFlipFirstPosition = true
+rotationShake = Vector3(0.5, 0.5, 10)
+globalRotation = false
+scaleShake = Vector3(0.1, 0.1, 0.1)
+scaleShakeIsRelative = true
diff --git a/Runtime/Animation/Shake/Presets/Small Impact - Shake.tres b/Runtime/Animation/Shake/Presets/Small Impact Low FPS - Shake.tres
similarity index 73%
rename from Runtime/Animation/Shake/Presets/Small Impact - Shake.tres
rename to Runtime/Animation/Shake/Presets/Small Impact Low FPS - Shake.tres
index 7ee541d..f27b2c6 100644
--- a/Runtime/Animation/Shake/Presets/Small Impact - Shake.tres
+++ b/Runtime/Animation/Shake/Presets/Small Impact Low FPS - Shake.tres
@@ -1,16 +1,15 @@
[gd_resource type="Resource" script_class="ShakeEffect" load_steps=8 format=3 uid="uid://c2wbn25rxynk8"]
-[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Animation/Shake/ShakeEffect.cs" id="1_41sot"]
-[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="2_rwbu4"]
-[ext_resource type="Resource" uid="uid://h6oi6vkj4c2m" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/RealTime.tres" id="3_rqeiy"]
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Animation/Shake/ShakeEffect.cs" id="1_68es8"]
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="2_wfmv2"]
+[ext_resource type="Resource" uid="uid://h6oi6vkj4c2m" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/RealTime.tres" id="3_h08aw"]
[sub_resource type="Curve" id="Curve_j2uji"]
-min_value = -1.0
-_data = [Vector2(0, 1), 0.0, -0.608916, 0, 0, Vector2(1, -1), -3.46819, 0.0, 0, 0]
+_data = [Vector2(0, 1), 0.0, 0.0355988, 0, 0, Vector2(1, 0), -0.101636, 0.0, 0, 0]
point_count = 2
[sub_resource type="Resource" id="Resource_jwnpm"]
-script = ExtResource("2_rwbu4")
+script = ExtResource("2_wfmv2")
duration = 0.4
durationRandomRange = 0.0
delay = 0.0
@@ -24,7 +23,7 @@ _data = [Vector2(0, 0.368339), 0.0, 3.25035, 0, 0, Vector2(0.264591, 0.73511), 0
point_count = 3
[sub_resource type="Resource" id="Resource_1s2e6"]
-script = ExtResource("2_rwbu4")
+script = ExtResource("2_wfmv2")
duration = 0.5
durationRandomRange = 0.0
delay = 0.0
@@ -34,16 +33,16 @@ scaleY = 30.0
scaleRandomRange = 0.0
[resource]
-script = ExtResource("1_41sot")
+script = ExtResource("1_68es8")
shakeAmountCurve = SubResource("Resource_jwnpm")
shakeChangeFPSCurve = SubResource("Resource_1s2e6")
-timeline = ExtResource("3_rqeiy")
+timeline = ExtResource("3_h08aw")
smooth = true
-smoothingStrength = 0.291
+smoothingStrength = 0.325
positionShake = Vector3(0.075, 0, 0.075)
globalPosition = true
repeatAndFlipFirstPosition = true
-rotationShake = Vector3(2, 2, 40)
+rotationShake = Vector3(1, 1, 20)
globalRotation = false
-scaleShake = Vector3(0.5, 0.5, 0.1)
+scaleShake = Vector3(0.25, 0.25, 0.05)
scaleShakeIsRelative = true
diff --git a/Runtime/Animation/Shake/Shake.cs b/Runtime/Animation/Shake/Shake.cs
index 54e2e2d..3d97edc 100644
--- a/Runtime/Animation/Shake/Shake.cs
+++ b/Runtime/Animation/Shake/Shake.cs
@@ -32,7 +32,8 @@ namespace Rokojori
CancelAction( _actionID );
}
- _actionID = DispatchStart();
+ var sequenceID = DispatchStart();
+ _actionID = sequenceID;
var random = LCG.Randomized();
@@ -103,6 +104,8 @@ namespace Rokojori
_actionID = -1;
_currentSpanAnimationID = -1;
+ DispatchEnd( sequenceID );
+
return;
}
diff --git a/Runtime/Animation/Shake/ShakeEffect.cs b/Runtime/Animation/Shake/ShakeEffect.cs
index ae8f45e..c95babb 100644
--- a/Runtime/Animation/Shake/ShakeEffect.cs
+++ b/Runtime/Animation/Shake/ShakeEffect.cs
@@ -32,7 +32,7 @@ namespace Rokojori
public float GetShakeChangeFPSRandomized( float time, RandomEngine random = null )
{
random = RandomEngine.CreateIfNull( random );
- var staticChange = shakeChangeFPSCurve == null ? 10 : shakeChangeFPSCurve.Sample( time );
+ var staticChange = shakeChangeFPSCurve == null ? 60 : shakeChangeFPSCurve.Sample( time );
var randomChange = shakeChangeFPSRandomCurve == null ? 0 : shakeChangeFPSRandomCurve.Sample( time );
return staticChange + random.Polar( randomChange );
}
diff --git a/Runtime/Animation/Transform/AnimateTransform.cs b/Runtime/Animation/Transform/AnimateTransform.cs
index c9941b4..78ad7dd 100644
--- a/Runtime/Animation/Transform/AnimateTransform.cs
+++ b/Runtime/Animation/Transform/AnimateTransform.cs
@@ -42,7 +42,7 @@ namespace Rokojori
var start = timeline.position;
var end = start + animations.GetMaxDuration( _randomizations );
- var actionID = DispatchStart();
+ var sequenceID = DispatchStart();
foreach ( var c in animations.curves )
{
@@ -74,7 +74,7 @@ namespace Rokojori
AnimationManager.EndAnimation( c, target, c.animationMember );
}
- DispatchEnd( actionID );
+ DispatchEnd( sequenceID );
}
}
);
diff --git a/Runtime/Interactions/Grabbable.cs b/Runtime/Interactions/Grabbable.cs
new file mode 100644
index 0000000..824b282
--- /dev/null
+++ b/Runtime/Interactions/Grabbable.cs
@@ -0,0 +1,42 @@
+using Godot;
+using System.Collections;
+using System.Collections.Generic;
+using Godot.Collections;
+
+namespace Rokojori
+{
+
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/Grabbable.svg")]
+ public partial class Grabbable:Node3D
+ {
+ [Export]
+ public Action onGrab;
+
+ [Export]
+ public Action onRelease;
+
+ [Export]
+ public Node3D grabTarget;
+
+ [ExportGroup("Read Only")]
+ [Export]
+ public Grabber grabber;
+
+ public void SetGrabber( Grabber grabber )
+ {
+ this.grabber = grabber;
+
+ if ( this.grabber != null )
+ {
+ Action.Trigger( onGrab );
+ }
+ else
+ {
+ Action.Trigger( onRelease );
+ }
+
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Interactions/Grabber.cs b/Runtime/Interactions/Grabber.cs
new file mode 100644
index 0000000..33ead85
--- /dev/null
+++ b/Runtime/Interactions/Grabber.cs
@@ -0,0 +1,96 @@
+using Godot;
+using System.Collections;
+using System.Collections.Generic;
+using Godot.Collections;
+
+namespace Rokojori
+{
+
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/Grabber.svg")]
+ public partial class Grabber:Node3D, SensorInputHandler
+ {
+ [Export]
+ public Sensor button;
+
+ [Export]
+ public Pointer pointer;
+
+ [Export]
+ public TimeLine timeLine;
+
+ [Export]
+ public Node3D grabOffset;
+
+ [ExportGroup("Read Only")]
+ [Export]
+ public Grabbable grabbable;
+
+
+ public override void _Ready()
+ {
+ SensorManager.Register( this, button );
+ }
+
+ public override void _ExitTree()
+ {
+ SensorManager.Unregister( this, button );
+ }
+
+ TimeLineCallback _callback = null;
+
+ public void _OnSensor( SensorEvent se )
+ {
+ if ( se.isDown && _callback == null )
+ {
+ StartGrabbing();
+ }
+ else if ( se.isUp && _callback != null )
+ {
+ ReleaseGrabbing();
+ }
+ }
+
+ void StartGrabbing()
+ {
+ var pointable = pointer.pointable;
+
+ if ( pointable == null )
+ {
+ return;
+ }
+
+ var grabbable = Nodes.Find( pointable.GetParent() );
+
+ if ( grabbable == null )
+ {
+ return;
+ }
+
+ grabbable.SetGrabber( this );
+
+ _callback = TimeLineManager.ScheduleCallback( timeLine,
+ ( cb )=>
+ {
+ if ( cb != _callback )
+ {
+ return;
+ }
+
+ UpdateGrabbable();
+ }
+ );
+ }
+
+ void ReleaseGrabbing()
+ {
+ _callback.done = true;
+ _callback = null;
+ }
+
+ void UpdateGrabbable()
+ {
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Interactions/Interactable.cs b/Runtime/Interactions/Interactable.cs
index 1fc8488..22b8500 100644
--- a/Runtime/Interactions/Interactable.cs
+++ b/Runtime/Interactions/Interactable.cs
@@ -6,7 +6,7 @@ using Godot.Collections;
namespace Rokojori
{
- [GlobalClass]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/Interactable.svg")]
public partial class Interactable:Node3D
{
[Export]
diff --git a/Runtime/Interactions/Interactor.cs b/Runtime/Interactions/Interactor.cs
index 911ed1d..89fd29d 100644
--- a/Runtime/Interactions/Interactor.cs
+++ b/Runtime/Interactions/Interactor.cs
@@ -6,7 +6,7 @@ using Godot.Collections;
namespace Rokojori
{
- [GlobalClass]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/Interactor.svg")]
public partial class Interactor:Node3D, SensorInputHandler
{
[Export]
diff --git a/Runtime/Interactions/Pointable.cs b/Runtime/Interactions/Pointable.cs
index 0dc1701..67db10f 100644
--- a/Runtime/Interactions/Pointable.cs
+++ b/Runtime/Interactions/Pointable.cs
@@ -6,7 +6,7 @@ using Godot.Collections;
namespace Rokojori
{
- [GlobalClass]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/Pointable.svg")]
public partial class Pointable:Node3D
{
[Export]
@@ -32,7 +32,9 @@ namespace Rokojori
public Node3D[] highlightTargets;
-
+ [ExportGroup("Read Only")]
+ [Export]
+ public Pointer[] pointers;
List _pointers = new List();
@@ -76,6 +78,8 @@ namespace Rokojori
}
}
+
+ pointers = _pointers.ToArray();
}
diff --git a/Runtime/Interactions/Pointer.cs b/Runtime/Interactions/Pointer.cs
index 2741536..1ccfa75 100644
--- a/Runtime/Interactions/Pointer.cs
+++ b/Runtime/Interactions/Pointer.cs
@@ -6,14 +6,18 @@ using Godot.Collections;
namespace Rokojori
{
- [GlobalClass]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/Pointer.svg")]
public partial class Pointer:Node3D
{
[Export]
- public Pointable pointable;
+ public Caster caster;
[Export]
- public Caster caster;
+ public HighlightEffect defaultHighlighter;
+
+ [ExportGroup("Read Only")]
+ [Export]
+ public Pointable pointable;
public override void _Process( double delta )
{
@@ -52,12 +56,19 @@ namespace Rokojori
void Highlight( HighlightActionType type, Pointable p )
{
- if ( p.highlightEffect == null || p.highlightTargets == null || p.highlightTargets.Length == 0 )
+ if ( p.highlightTargets == null || p.highlightTargets.Length == 0 )
{
return;
}
- p.highlightEffect.Highlight( type, p.highlightTargets );
+ if ( p.highlightEffect == null && defaultHighlighter == null )
+ {
+ return;
+ }
+
+ var highlightEffect = p.highlightEffect ?? defaultHighlighter;
+
+ highlightEffect.Highlight( type, p.highlightTargets );
}
}
diff --git a/Runtime/Networking/NetworkManager.cs b/Runtime/Networking/NetworkManager.cs
index ac24096..080e867 100644
--- a/Runtime/Networking/NetworkManager.cs
+++ b/Runtime/Networking/NetworkManager.cs
@@ -3,7 +3,7 @@ using Godot;
namespace Rokojori
{
- [GlobalClass]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/NetworkManager.svg")]
public partial class NetworkManager:Node
{
[Export]
diff --git a/Runtime/Selectors/Selector.cs b/Runtime/Selectors/Selector.cs
index 71232da..8b75b72 100644
--- a/Runtime/Selectors/Selector.cs
+++ b/Runtime/Selectors/Selector.cs
@@ -9,7 +9,7 @@ using Godot;
namespace Rokojori
{
[Tool]
- [GlobalClass]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/Selector.svg")]
public partial class Selector:Resource
{
public virtual bool Selects( Node node )
diff --git a/Runtime/Sensors/CombineSensor.cs b/Runtime/Sensors/CombineSensor.cs
index 819fe6b..614d3fe 100644
--- a/Runtime/Sensors/CombineSensor.cs
+++ b/Runtime/Sensors/CombineSensor.cs
@@ -4,7 +4,8 @@ using Godot;
namespace Rokojori
{
- [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/RJSensor.svg")]
+ [Tool]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/SensorGroup.svg")]
public partial class CombineSensor : Sensor
{
[Export]
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick X-Negative.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick X-Negative.tres
new file mode 100644
index 0000000..53d31b3
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick X-Negative.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://5gnh5dmv1p21"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_t42o5"]
+
+[resource]
+script = ExtResource("1_t42o5")
+axis = 0
+type = 0
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick X-Positive.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick X-Positive.tres
new file mode 100644
index 0000000..6b740db
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick X-Positive.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://dsrf03g6mgu5t"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_y2djh"]
+
+[resource]
+script = ExtResource("1_y2djh")
+axis = 0
+type = 1
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Y-Negative.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Y-Negative.tres
new file mode 100644
index 0000000..d484874
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Y-Negative.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://dbha8dmhxgm05"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_yy4wi"]
+
+[resource]
+script = ExtResource("1_yy4wi")
+axis = 0
+type = 0
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Y-Positive.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Y-Positive.tres
new file mode 100644
index 0000000..56c2235
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Y-Positive.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://cyyy0ycusgil3"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_wej7c"]
+
+[resource]
+script = ExtResource("1_wej7c")
+axis = 1
+type = 1
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick X-Negative.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick X-Negative.tres
new file mode 100644
index 0000000..5a8fea0
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick X-Negative.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://b16mtcrpm1f6i"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_22ykp"]
+
+[resource]
+script = ExtResource("1_22ykp")
+axis = 2
+type = 0
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick X-Positive.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick X-Positive.tres
new file mode 100644
index 0000000..6c29646
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick X-Positive.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://d05w143o644d3"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_pxirv"]
+
+[resource]
+script = ExtResource("1_pxirv")
+axis = 2
+type = 1
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Y-Negative.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Y-Negative.tres
new file mode 100644
index 0000000..ab0204f
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Y-Negative.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://ck7woerh7mhp"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_nrdau"]
+
+[resource]
+script = ExtResource("1_nrdau")
+axis = 3
+type = 0
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Y-Positive.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Y-Positive.tres
new file mode 100644
index 0000000..5315f10
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Y-Positive.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://6emg8n3qxhlv"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_xf3mc"]
+
+[resource]
+script = ExtResource("1_xf3mc")
+axis = 3
+type = 1
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Trigger Left, LT, PS L2, Nin ZL.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Trigger Left, LT, PS L2, Nin ZL.tres
new file mode 100644
index 0000000..4de7b8e
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Trigger Left, LT, PS L2, Nin ZL.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://cs12bjge707ri"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_ow83o"]
+
+[resource]
+script = ExtResource("1_ow83o")
+axis = 5
+type = 1
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Trigger Right, RT, PS R2, Nin ZR.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Trigger Right, RT, PS R2, Nin ZR.tres
new file mode 100644
index 0000000..d00b674
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Trigger Right, RT, PS R2, Nin ZR.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="GamePadAxisSensor" load_steps=2 format=3 uid="uid://cy3ja8squnin6"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadAxisSensor.cs" id="1_63g6c"]
+
+[resource]
+script = ExtResource("1_63g6c")
+axis = 3
+type = 1
+continous = true
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button A, PS Cross, Nin B.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button A, PS Cross, Nin B.tres
new file mode 100644
index 0000000..ad05e6f
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button A, PS Cross, Nin B.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://dffkdky8iowro"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_yb7gd"]
+
+[resource]
+script = ExtResource("1_yb7gd")
+button = 0
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button B, PS Circle, Nin A.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button B, PS Circle, Nin A.tres
new file mode 100644
index 0000000..36d11ce
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button B, PS Circle, Nin A.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://cvjlv07g2nkfw"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_pyal4"]
+
+[resource]
+script = ExtResource("1_pyal4")
+button = 1
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Back, PS Select, Nin Minus.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Back, PS Select, Nin Minus.tres
new file mode 100644
index 0000000..f4ad4e4
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Back, PS Select, Nin Minus.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://csxxb6pbaqmgf"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_54oni"]
+
+[resource]
+script = ExtResource("1_54oni")
+button = 4
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Home, PS Button.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Home, PS Button.tres
new file mode 100644
index 0000000..ae87f11
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Home, PS Button.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://c4gdihswmjeq2"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_hh0su"]
+
+[resource]
+script = ExtResource("1_hh0su")
+button = 5
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Menu, PS Options, Nin Plus.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Menu, PS Options, Nin Plus.tres
new file mode 100644
index 0000000..2bebdd1
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Menu, PS Options, Nin Plus.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://crx0sty5vqkdp"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_j48k6"]
+
+[resource]
+script = ExtResource("1_j48k6")
+button = 6
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Share, PS Mic, Nin Capture.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Share, PS Mic, Nin Capture.tres
new file mode 100644
index 0000000..aed6392
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Share, PS Mic, Nin Capture.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://c5kh02wmyjjt7"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_424mq"]
+
+[resource]
+script = ExtResource("1_424mq")
+button = 15
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button X, PS Square, Nin Y.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button X, PS Square, Nin Y.tres
new file mode 100644
index 0000000..deb82e6
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button X, PS Square, Nin Y.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://jvwwq6guhl77"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_4da72"]
+
+[resource]
+script = ExtResource("1_4da72")
+button = 1
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Y, PS Triangle, Nin X.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Y, PS Triangle, Nin X.tres
new file mode 100644
index 0000000..9516078
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Y, PS Triangle, Nin X.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://dpwq5eyla8rob"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_yv1r0"]
+
+[resource]
+script = ExtResource("1_yv1r0")
+button = 2
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Down.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Down.tres
new file mode 100644
index 0000000..22a2ca6
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Down.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://cm480d0xgr10c"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_proop"]
+
+[resource]
+script = ExtResource("1_proop")
+button = 9
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Left.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Left.tres
new file mode 100644
index 0000000..758c801
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Left.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://dxtx0nr4ffkj"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_lr33p"]
+
+[resource]
+script = ExtResource("1_lr33p")
+button = 3
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Right.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Right.tres
new file mode 100644
index 0000000..8058473
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Right.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://qeovblfrqo7k"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_haxly"]
+
+[resource]
+script = ExtResource("1_haxly")
+button = 13
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Up.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Up.tres
new file mode 100644
index 0000000..6bbb639
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Up.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://bwe6ln2b4f6fv"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_6u2r8"]
+
+[resource]
+script = ExtResource("1_6u2r8")
+button = 14
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Shoulder Left, LB, L1.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Shoulder Left, LB, L1.tres
new file mode 100644
index 0000000..a94ea4b
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Shoulder Left, LB, L1.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://cituiuw6e1fho"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_upstx"]
+
+[resource]
+script = ExtResource("1_upstx")
+button = 9
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Shoulder Right, RB, R1.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Shoulder Right, RB, R1.tres
new file mode 100644
index 0000000..51966ab
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Shoulder Right, RB, R1.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://jbud1yjmxysm"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_7gltt"]
+
+[resource]
+script = ExtResource("1_7gltt")
+button = 10
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Stick Left.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Stick Left.tres
new file mode 100644
index 0000000..9bfff57
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Stick Left.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://wdxsc6tdnd2f"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_cg8xn"]
+
+[resource]
+script = ExtResource("1_cg8xn")
+button = 7
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Stick Right.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Stick Right.tres
new file mode 100644
index 0000000..fda97c7
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Stick Right.tres
@@ -0,0 +1,12 @@
+[gd_resource type="Resource" script_class="GamePadButtonSensor" load_steps=2 format=3 uid="uid://6ljt7j7pqmb2"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/GamePadButtonSensor.cs" id="1_xn6c2"]
+
+[resource]
+script = ExtResource("1_xn6c2")
+button = 10
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Gamepad/Default - GamePad.tres b/Runtime/Sensors/Default-Sensors/Gamepad/Default - GamePad.tres
new file mode 100644
index 0000000..d05279c
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Gamepad/Default - GamePad.tres
@@ -0,0 +1,33 @@
+[gd_resource type="Resource" script_class="SensorGroup" load_steps=28 format=3 uid="uid://bv40lrpi3831d"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/SensorGroup.cs" id="1_k6ypa"]
+[ext_resource type="Resource" uid="uid://5gnh5dmv1p21" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick X-Negative.tres" id="2_1ywmr"]
+[ext_resource type="Resource" uid="uid://dsrf03g6mgu5t" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick X-Positive.tres" id="3_1yuu5"]
+[ext_resource type="Resource" uid="uid://dbha8dmhxgm05" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Y-Negative.tres" id="4_ehig4"]
+[ext_resource type="Resource" uid="uid://cyyy0ycusgil3" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Left-Joystick Y-Positive.tres" id="5_adyq7"]
+[ext_resource type="Resource" uid="uid://b16mtcrpm1f6i" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick X-Negative.tres" id="6_g7fxo"]
+[ext_resource type="Resource" uid="uid://d05w143o644d3" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick X-Positive.tres" id="7_b0v3q"]
+[ext_resource type="Resource" uid="uid://ck7woerh7mhp" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Y-Negative.tres" id="8_ljqng"]
+[ext_resource type="Resource" uid="uid://6emg8n3qxhlv" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Right-Joystick Y-Positive.tres" id="9_qkgw5"]
+[ext_resource type="Resource" uid="uid://cs12bjge707ri" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Trigger Left, LT, PS L2, Nin ZL.tres" id="10_t2i3f"]
+[ext_resource type="Resource" uid="uid://cy3ja8squnin6" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Axis/Trigger Right, RT, PS R2, Nin ZR.tres" id="11_u6ig2"]
+[ext_resource type="Resource" uid="uid://dffkdky8iowro" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button A, PS Cross, Nin B.tres" id="12_0r6yt"]
+[ext_resource type="Resource" uid="uid://cvjlv07g2nkfw" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button B, PS Circle, Nin A.tres" id="13_i528m"]
+[ext_resource type="Resource" uid="uid://csxxb6pbaqmgf" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Back, PS Select, Nin Minus.tres" id="14_1jf4o"]
+[ext_resource type="Resource" uid="uid://c4gdihswmjeq2" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Home, PS Button.tres" id="15_jf7ve"]
+[ext_resource type="Resource" uid="uid://crx0sty5vqkdp" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Menu, PS Options, Nin Plus.tres" id="16_eeax1"]
+[ext_resource type="Resource" uid="uid://c5kh02wmyjjt7" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Share, PS Mic, Nin Capture.tres" id="17_fwyvd"]
+[ext_resource type="Resource" uid="uid://jvwwq6guhl77" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button X, PS Square, Nin Y.tres" id="18_21r13"]
+[ext_resource type="Resource" uid="uid://dpwq5eyla8rob" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Button Y, PS Triangle, Nin X.tres" id="19_m0sc5"]
+[ext_resource type="Resource" uid="uid://cituiuw6e1fho" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Shoulder Left, LB, L1.tres" id="20_jpm5h"]
+[ext_resource type="Resource" uid="uid://jbud1yjmxysm" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Shoulder Right, RB, R1.tres" id="21_e1xl3"]
+[ext_resource type="Resource" uid="uid://cm480d0xgr10c" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Down.tres" id="22_8avk2"]
+[ext_resource type="Resource" uid="uid://dxtx0nr4ffkj" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Left.tres" id="23_fddd0"]
+[ext_resource type="Resource" uid="uid://qeovblfrqo7k" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Right.tres" id="24_xpmmk"]
+[ext_resource type="Resource" uid="uid://bwe6ln2b4f6fv" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/D-Pad Up.tres" id="25_04mfy"]
+[ext_resource type="Resource" uid="uid://wdxsc6tdnd2f" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Stick Left.tres" id="26_pfcdy"]
+[ext_resource type="Resource" uid="uid://6ljt7j7pqmb2" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Gamepad/Buttons/Stick Right.tres" id="27_88i3m"]
+
+[resource]
+script = ExtResource("1_k6ypa")
+sensors = [ExtResource("2_1ywmr"), ExtResource("3_1yuu5"), ExtResource("4_ehig4"), ExtResource("5_adyq7"), ExtResource("6_g7fxo"), ExtResource("7_b0v3q"), ExtResource("8_ljqng"), ExtResource("9_qkgw5"), ExtResource("10_t2i3f"), ExtResource("11_u6ig2"), ExtResource("12_0r6yt"), ExtResource("13_i528m"), ExtResource("14_1jf4o"), ExtResource("15_jf7ve"), ExtResource("16_eeax1"), ExtResource("17_fwyvd"), ExtResource("18_21r13"), ExtResource("19_m0sc5"), ExtResource("20_jpm5h"), ExtResource("21_e1xl3"), ExtResource("22_8avk2"), ExtResource("23_fddd0"), ExtResource("24_xpmmk"), ExtResource("25_04mfy"), ExtResource("26_pfcdy"), ExtResource("27_88i3m")]
diff --git a/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Default - Keyboard & Mouse.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Default - Keyboard & Mouse.tres
new file mode 100644
index 0000000..f3d0200
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Default - Keyboard & Mouse.tres
@@ -0,0 +1,18 @@
+[gd_resource type="Resource" script_class="SensorGroup" load_steps=13 format=3 uid="uid://c5rvf5v86ybks"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/SensorGroup.cs" id="1_168ay"]
+[ext_resource type="Resource" uid="uid://ci42d04kv03yx" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Button Left.tres" id="2_fxahp"]
+[ext_resource type="Resource" uid="uid://b8u374emi528p" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Button Middle.tres" id="3_6x0mm"]
+[ext_resource type="Resource" uid="uid://cbqyav0cnehoq" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Button Right.tres" id="4_4gj3k"]
+[ext_resource type="Resource" uid="uid://chwstub7bnlpp" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Wheel Down.tres" id="5_diio6"]
+[ext_resource type="Resource" uid="uid://b52horrdbgyaa" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Wheel Up.tres" id="6_3kcki"]
+[ext_resource type="Resource" uid="uid://mbnb46tah4i7" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Forward.tres" id="7_1jado"]
+[ext_resource type="Resource" uid="uid://ds1rrltuj0mse" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Fly Up.tres" id="7_if4l6"]
+[ext_resource type="Resource" uid="uid://c5ueac4xt7oyb" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Back.tres" id="8_0us2c"]
+[ext_resource type="Resource" uid="uid://dwigqkllvj8dq" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Fly Down.tres" id="8_r5hwi"]
+[ext_resource type="Resource" uid="uid://bfxeh1y1vgkiu" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Left.tres" id="9_xdx7j"]
+[ext_resource type="Resource" uid="uid://bm2d6nhevcjel" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Right.tres" id="10_cwkpy"]
+
+[resource]
+script = ExtResource("1_168ay")
+sensors = [ExtResource("2_fxahp"), ExtResource("3_6x0mm"), ExtResource("4_4gj3k"), ExtResource("5_diio6"), ExtResource("6_3kcki"), ExtResource("7_1jado"), ExtResource("8_0us2c"), ExtResource("9_xdx7j"), ExtResource("10_cwkpy"), ExtResource("7_if4l6"), ExtResource("8_r5hwi")]
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Button Left.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Button Left.tres
similarity index 100%
rename from Runtime/Sensors/Default-Sensors/PC/Mouse Button Left.tres
rename to Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Button Left.tres
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Button Middle.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Button Middle.tres
similarity index 100%
rename from Runtime/Sensors/Default-Sensors/PC/Mouse Button Middle.tres
rename to Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Button Middle.tres
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Button Right.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Button Right.tres
similarity index 100%
rename from Runtime/Sensors/Default-Sensors/PC/Mouse Button Right.tres
rename to Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Button Right.tres
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Wheel Down.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Wheel Down.tres
similarity index 100%
rename from Runtime/Sensors/Default-Sensors/PC/Mouse Wheel Down.tres
rename to Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Wheel Down.tres
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Wheel Up.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Wheel Up.tres
similarity index 100%
rename from Runtime/Sensors/Default-Sensors/PC/Mouse Wheel Up.tres
rename to Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Wheel Up.tres
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Down.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Fly Down.tres
similarity index 100%
rename from Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Down.tres
rename to Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Fly Down.tres
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Up.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Fly Up.tres
similarity index 100%
rename from Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Up.tres
rename to Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Fly Up.tres
diff --git a/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Back.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Back.tres
new file mode 100644
index 0000000..d73c883
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Back.tres
@@ -0,0 +1,39 @@
+[gd_resource type="Resource" script_class="CombineSensor" load_steps=5 format=3 uid="uid://c5ueac4xt7oyb"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/CombineSensor.cs" id="1_xxflt"]
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/KeySensor.cs" id="2_p2364"]
+
+[sub_resource type="Resource" id="Resource_bf8g7"]
+script = ExtResource("2_p2364")
+key = 83
+ctrlHold = 2
+altHold = 2
+shiftHold = 2
+modifiersMode = 0
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
+
+[sub_resource type="Resource" id="Resource_bi0fk"]
+script = ExtResource("2_p2364")
+key = 4194322
+ctrlHold = 2
+altHold = 2
+shiftHold = 2
+modifiersMode = 0
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
+
+[resource]
+script = ExtResource("1_xxflt")
+sensors = Array[Object]([SubResource("Resource_bf8g7"), SubResource("Resource_bi0fk")])
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Forward.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Forward.tres
new file mode 100644
index 0000000..7b3744d
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Forward.tres
@@ -0,0 +1,39 @@
+[gd_resource type="Resource" script_class="CombineSensor" load_steps=5 format=3 uid="uid://mbnb46tah4i7"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/CombineSensor.cs" id="1_vohv8"]
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/KeySensor.cs" id="2_rjp34"]
+
+[sub_resource type="Resource" id="Resource_uixae"]
+script = ExtResource("2_rjp34")
+key = 87
+ctrlHold = 2
+altHold = 2
+shiftHold = 2
+modifiersMode = 0
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
+
+[sub_resource type="Resource" id="Resource_grqa0"]
+script = ExtResource("2_rjp34")
+key = 4194320
+ctrlHold = 2
+altHold = 2
+shiftHold = 2
+modifiersMode = 0
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
+
+[resource]
+script = ExtResource("1_vohv8")
+sensors = Array[Object]([SubResource("Resource_uixae"), SubResource("Resource_grqa0")])
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Left.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Left.tres
new file mode 100644
index 0000000..11691f8
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Left.tres
@@ -0,0 +1,39 @@
+[gd_resource type="Resource" script_class="CombineSensor" load_steps=5 format=3 uid="uid://bfxeh1y1vgkiu"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/CombineSensor.cs" id="1_xuikh"]
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/KeySensor.cs" id="2_m4lpr"]
+
+[sub_resource type="Resource" id="Resource_m3515"]
+script = ExtResource("2_m4lpr")
+key = 65
+ctrlHold = 2
+altHold = 2
+shiftHold = 2
+modifiersMode = 0
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
+
+[sub_resource type="Resource" id="Resource_ejgie"]
+script = ExtResource("2_m4lpr")
+key = 4194319
+ctrlHold = 2
+altHold = 2
+shiftHold = 2
+modifiersMode = 0
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
+
+[resource]
+script = ExtResource("1_xuikh")
+sensors = [SubResource("Resource_m3515"), SubResource("Resource_ejgie")]
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Right.tres b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Right.tres
new file mode 100644
index 0000000..1ee9418
--- /dev/null
+++ b/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Right.tres
@@ -0,0 +1,39 @@
+[gd_resource type="Resource" script_class="CombineSensor" load_steps=5 format=3 uid="uid://bm2d6nhevcjel"]
+
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/CombineSensor.cs" id="1_t65bw"]
+[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/KeySensor.cs" id="2_uy5s5"]
+
+[sub_resource type="Resource" id="Resource_n5k5a"]
+script = ExtResource("2_uy5s5")
+key = 68
+ctrlHold = 2
+altHold = 2
+shiftHold = 2
+modifiersMode = 0
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
+
+[sub_resource type="Resource" id="Resource_8vsbn"]
+script = ExtResource("2_uy5s5")
+key = 4194321
+ctrlHold = 2
+altHold = 2
+shiftHold = 2
+modifiersMode = 0
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
+
+[resource]
+script = ExtResource("1_t65bw")
+sensors = Array[Object]([SubResource("Resource_n5k5a"), SubResource("Resource_8vsbn")])
+continous = false
+_value = 0.0
+_wasActive = false
+_active = false
+_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/PC/Default-Sensors-PC.tres b/Runtime/Sensors/Default-Sensors/PC/Default-Sensors-PC.tres
deleted file mode 100644
index 05a93a7..0000000
--- a/Runtime/Sensors/Default-Sensors/PC/Default-Sensors-PC.tres
+++ /dev/null
@@ -1,18 +0,0 @@
-[gd_resource type="Resource" script_class="SensorGroup" load_steps=13 format=3 uid="uid://c5rvf5v86ybks"]
-
-[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/SensorGroup.cs" id="1_eh8lb"]
-[ext_resource type="Resource" uid="uid://ci42d04kv03yx" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Button Left.tres" id="2_7ixeu"]
-[ext_resource type="Resource" uid="uid://b8u374emi528p" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Button Middle.tres" id="3_03o43"]
-[ext_resource type="Resource" uid="uid://cbqyav0cnehoq" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Button Right.tres" id="4_v0fjp"]
-[ext_resource type="Resource" uid="uid://chwstub7bnlpp" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Wheel Down.tres" id="5_dks5x"]
-[ext_resource type="Resource" uid="uid://b52horrdbgyaa" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Wheel Up.tres" id="6_l4cqu"]
-[ext_resource type="Resource" uid="uid://c73afpa00tr65" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Forward.tres" id="7_0kr2e"]
-[ext_resource type="Resource" uid="uid://cwoisyc1in6ew" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Back.tres" id="8_iju1w"]
-[ext_resource type="Resource" uid="uid://dfrnedeefk0qk" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Left.tres" id="9_d7wj5"]
-[ext_resource type="Resource" uid="uid://cbsltqawsp4yy" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Right.tres" id="10_3fc02"]
-[ext_resource type="Resource" uid="uid://ds1rrltuj0mse" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Up.tres" id="11_is0bq"]
-[ext_resource type="Resource" uid="uid://dwigqkllvj8dq" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Down.tres" id="12_rvojt"]
-
-[resource]
-script = ExtResource("1_eh8lb")
-sensors = [ExtResource("2_7ixeu"), ExtResource("3_03o43"), ExtResource("4_v0fjp"), ExtResource("5_dks5x"), ExtResource("6_l4cqu"), ExtResource("7_0kr2e"), ExtResource("8_iju1w"), ExtResource("9_d7wj5"), ExtResource("10_3fc02"), ExtResource("11_is0bq"), ExtResource("12_rvojt")]
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Back.tres b/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Back.tres
deleted file mode 100644
index 4a9c278..0000000
--- a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Back.tres
+++ /dev/null
@@ -1,16 +0,0 @@
-[gd_resource type="Resource" script_class="KeySensor" load_steps=2 format=3 uid="uid://cwoisyc1in6ew"]
-
-[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/KeySensor.cs" id="1_iw8mv"]
-
-[resource]
-script = ExtResource("1_iw8mv")
-key = 83
-ctrlHold = 2
-altHold = 2
-shiftHold = 2
-modifiersMode = 0
-continous = false
-_value = 0.0
-_wasActive = false
-_active = false
-_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Forward.tres b/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Forward.tres
deleted file mode 100644
index 12cbc98..0000000
--- a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Forward.tres
+++ /dev/null
@@ -1,16 +0,0 @@
-[gd_resource type="Resource" script_class="KeySensor" load_steps=2 format=3 uid="uid://c73afpa00tr65"]
-
-[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/KeySensor.cs" id="1_jess7"]
-
-[resource]
-script = ExtResource("1_jess7")
-key = 87
-ctrlHold = 2
-altHold = 2
-shiftHold = 2
-modifiersMode = 0
-continous = false
-_value = 0.0
-_wasActive = false
-_active = false
-_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Left.tres b/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Left.tres
deleted file mode 100644
index f94982f..0000000
--- a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Left.tres
+++ /dev/null
@@ -1,16 +0,0 @@
-[gd_resource type="Resource" script_class="KeySensor" load_steps=2 format=3 uid="uid://dfrnedeefk0qk"]
-
-[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/KeySensor.cs" id="1_1s7kb"]
-
-[resource]
-script = ExtResource("1_1s7kb")
-key = 65
-ctrlHold = 2
-altHold = 2
-shiftHold = 2
-modifiersMode = 0
-continous = false
-_value = 0.0
-_wasActive = false
-_active = false
-_activeTreshold = 0.5
diff --git a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Right.tres b/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Right.tres
deleted file mode 100644
index cea9e7a..0000000
--- a/Runtime/Sensors/Default-Sensors/PC/Mouse Editor Camera/Move Right.tres
+++ /dev/null
@@ -1,16 +0,0 @@
-[gd_resource type="Resource" script_class="KeySensor" load_steps=2 format=3 uid="uid://cbsltqawsp4yy"]
-
-[ext_resource type="Script" path="res://addons/rokojori_action_library/Runtime/Sensors/KeySensor.cs" id="1_41mmi"]
-
-[resource]
-script = ExtResource("1_41mmi")
-key = 68
-ctrlHold = 2
-altHold = 2
-shiftHold = 2
-modifiersMode = 0
-continous = false
-_value = 0.0
-_wasActive = false
-_active = false
-_activeTreshold = 0.5
diff --git a/Runtime/Sensors/GamePadAxisSensor.cs b/Runtime/Sensors/GamePadAxisSensor.cs
new file mode 100644
index 0000000..aa9db3c
--- /dev/null
+++ b/Runtime/Sensors/GamePadAxisSensor.cs
@@ -0,0 +1,54 @@
+
+using Godot;
+
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/AxisSensor.svg")]
+ public partial class GamePadAxisSensor : Sensor, iOnInputSensor
+ {
+ [Export]
+ public JoyAxis axis;
+
+ public override bool isMultiDevice => true;
+
+ public enum AxisType
+ {
+ Negative,
+ Positive
+ }
+
+
+ [Export]
+ public AxisType type;
+
+
+ float _lastInput = 0;
+
+ protected override void UpdateValue()
+ {
+ SetFloatValue( _lastInput );
+ }
+
+ public void _Input( InputEvent ev )
+ {
+ var joypadAxisEvent = ev as InputEventJoypadMotion;
+
+ if ( joypadAxisEvent == null )
+ {
+ return;
+ }
+
+ if ( joypadAxisEvent.Axis != axis )
+ {
+ return;
+ }
+
+ _lastInput = Mathf.Max( (AxisType.Negative == type ? -1 : 1 ) * joypadAxisEvent.AxisValue, 0 );
+
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Sensors/GamePadButtonSensor.cs b/Runtime/Sensors/GamePadButtonSensor.cs
new file mode 100644
index 0000000..e8c7a61
--- /dev/null
+++ b/Runtime/Sensors/GamePadButtonSensor.cs
@@ -0,0 +1,43 @@
+
+using Godot;
+
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/Sensor.svg")]
+ public partial class GamePadButtonSensor : Sensor, iOnInputSensor
+ {
+ [Export]
+ public JoyButton button;
+
+ public override bool isMultiDevice => true;
+
+ float _lastInput = 0;
+
+ protected override void UpdateValue()
+ {
+ SetFloatValue( _lastInput );
+ }
+
+ public void _Input( InputEvent ev )
+ {
+ var joypadButtonEvent = ev as InputEventJoypadButton;
+
+ if ( joypadButtonEvent == null )
+ {
+ return;
+ }
+
+ if ( joypadButtonEvent.ButtonIndex != button )
+ {
+ return;
+ }
+
+ _lastInput = joypadButtonEvent.IsPressed() ? 1 : 0;
+
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Sensors/InputActionSensor.cs b/Runtime/Sensors/InputActionSensor.cs
index 19e0fa6..8335580 100644
--- a/Runtime/Sensors/InputActionSensor.cs
+++ b/Runtime/Sensors/InputActionSensor.cs
@@ -5,7 +5,7 @@ using System.Collections.Generic;
namespace Rokojori
{
[Tool]
- [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/RJSensor.svg")]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/Sensor.svg")]
public partial class InputActionSensor: Sensor
{
[Export]
diff --git a/Runtime/Sensors/KeySensor.cs b/Runtime/Sensors/KeySensor.cs
index 8418d51..c3f3cf2 100644
--- a/Runtime/Sensors/KeySensor.cs
+++ b/Runtime/Sensors/KeySensor.cs
@@ -5,7 +5,7 @@ using Godot;
namespace Rokojori
{
[Tool]
- [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/RJSensor.svg")]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/KeySensor.svg")]
public partial class KeySensor : Sensor, iOnInputSensor
{
[Export]
diff --git a/Runtime/Sensors/MouseButtonSensor.cs b/Runtime/Sensors/MouseButtonSensor.cs
index 69c8bdf..bd258bc 100644
--- a/Runtime/Sensors/MouseButtonSensor.cs
+++ b/Runtime/Sensors/MouseButtonSensor.cs
@@ -3,10 +3,9 @@ using Godot;
namespace Rokojori
-{
-
+{
[Tool]
- [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/RJSensor.svg")]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/MouseSensor.svg")]
public partial class MouseButtonSensor : Sensor, iOnInputSensor
{
[Export]
diff --git a/Runtime/Sensors/MouseMotionDelta.cs b/Runtime/Sensors/MouseMotionDelta.cs
index 72867a6..cbdbaa4 100644
--- a/Runtime/Sensors/MouseMotionDelta.cs
+++ b/Runtime/Sensors/MouseMotionDelta.cs
@@ -5,7 +5,7 @@ using Godot;
namespace Rokojori
{
[Tool]
- [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/RJSensor.svg")]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/MouseSensor.svg")]
public partial class MouseMotionDelta : Sensor, iOnInputSensor
{
public enum MouseMotionType
diff --git a/Runtime/Sensors/MouseScreenRelative.cs b/Runtime/Sensors/MouseScreenRelative.cs
index 1086d79..ab97b93 100644
--- a/Runtime/Sensors/MouseScreenRelative.cs
+++ b/Runtime/Sensors/MouseScreenRelative.cs
@@ -5,7 +5,7 @@ using Godot;
namespace Rokojori
{
[Tool]
- [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/RJSensor.svg")]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/MouseSensor.svg")]
public partial class MouseScreenRelative : Sensor, iOnInputSensor
{
public enum MouseMotionType
diff --git a/Runtime/Sensors/OnSensor.cs b/Runtime/Sensors/OnSensor.cs
index 354044c..4e3b2c1 100644
--- a/Runtime/Sensors/OnSensor.cs
+++ b/Runtime/Sensors/OnSensor.cs
@@ -4,7 +4,7 @@ using Godot;
namespace Rokojori
{
- [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/RJOnEvent.svg") ]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/OnEvent.svg") ]
public partial class OnSensor: Node
{
[Export]
diff --git a/Runtime/Sensors/Sensor.cs b/Runtime/Sensors/Sensor.cs
index 1bd7e1d..b0d3412 100644
--- a/Runtime/Sensors/Sensor.cs
+++ b/Runtime/Sensors/Sensor.cs
@@ -5,19 +5,22 @@ using Godot;
namespace Rokojori
{
[Tool]
- [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/RJSensor.svg")]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/Sensor.svg")]
public partial class Sensor: Resource
- {
+ {
[Export]
public bool continous = false;
[ExportGroup("Read Only")]
[Export]
public float _value = 0;
+
[Export]
public bool _wasActive = false;
+
[Export]
public bool _active = false;
+
[Export]
public float _activeTreshold = 0.5f;
@@ -29,18 +32,22 @@ namespace Rokojori
public bool isDown => ! _wasActive && _active;
public bool isUp => _wasActive && ! _active;
+ public bool isHold => _active;
public bool wasActive => _wasActive;
public bool isActive => _active;
- public bool isHold => _active;
-
- public bool isInactive => ! _active;
-
- public bool isActivated => isDown;
- public bool isDeactivated => isUp;
public float value => _value;
+ public virtual int deviceID => 0;
+ public virtual bool isMultiDevice => false;
+
+ public virtual float GetValue( int device ) => value;
+ public virtual bool IsDown( int device ) => isDown;
+ public virtual bool IsUp( int device ) => isUp;
+
+ public virtual bool WasActive( int device ) => isUp;
+ public virtual bool IsActive( int device ) => isUp;
protected virtual void UpdateValue()
{
diff --git a/Runtime/Sensors/SensorEvent.cs b/Runtime/Sensors/SensorEvent.cs
index 0296e56..2f531d0 100644
--- a/Runtime/Sensors/SensorEvent.cs
+++ b/Runtime/Sensors/SensorEvent.cs
@@ -24,10 +24,12 @@ namespace Rokojori
public bool isActive => _sensor.isActive;
public bool isHold => _sensor.isHold;
- public bool isInactive => _sensor.isInactive;
+ public virtual float GetValue( int device ) => _sensor.GetValue( device );
+ public virtual bool IsDown( int device ) => _sensor.IsDown( device );
+ public virtual bool IsUp( int device ) => _sensor.IsUp( device );
- public bool isActivated => _sensor.isActivated;
- public bool isDeactivated => _sensor.isDeactivated;
+ public virtual bool WasActive( int device ) => _sensor.WasActive( device );
+ public virtual bool IsActive( int device ) => _sensor.IsActive( device );
public float value => _sensor.value;
diff --git a/Runtime/Sensors/SensorGroup.cs b/Runtime/Sensors/SensorGroup.cs
index 2319f84..89f4f2d 100644
--- a/Runtime/Sensors/SensorGroup.cs
+++ b/Runtime/Sensors/SensorGroup.cs
@@ -5,7 +5,7 @@ using System.Collections.Generic;
namespace Rokojori
{
[Tool]
- [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/RJSensor.svg")]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/SensorGroup.svg")]
public partial class SensorGroup:Resource
{
[Export]
diff --git a/Runtime/Sensors/SensorManager.cs b/Runtime/Sensors/SensorManager.cs
index 2fa4ee8..915dfda 100644
--- a/Runtime/Sensors/SensorManager.cs
+++ b/Runtime/Sensors/SensorManager.cs
@@ -5,7 +5,7 @@ using System.Collections.Generic;
namespace Rokojori
{
[Tool]
- [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/RJSensor.svg")]
+ [GlobalClass,Icon("res://addons/rokojori_action_library/Icons/SensorManager.svg")]
public partial class SensorManager: Node
{
[Export]
@@ -20,6 +20,8 @@ namespace Rokojori
[Export]
public bool processSensors = false;
+ [Export]
+ public Node[] autoScanForSensors;
List runners = new List();
@@ -108,6 +110,59 @@ namespace Rokojori
sm.Unregister( s, handler );
}
}
+
+ HashSet sensorsSet = new HashSet();
+
+ void AddSensor( Sensor s )
+ {
+ if ( s == null || sensorsSet.Contains( s ) )
+ {
+ return;
+ }
+
+ AddSensorsFrom( s );
+
+ sensorsSet.Add( s );
+ runners.Add( new SensorRunner( s ) );
+ }
+
+ HashSet