Bug Fixes/Logging/Sensor

This commit is contained in:
Josef 2024-05-05 09:52:06 +02:00
parent 8f1ce37f3b
commit 7886e82424
20 changed files with 883 additions and 21 deletions

52
Icons/RJAction.svg Normal file
View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="16"
viewBox="0 0 16 16"
width="16"
version="1.1"
id="svg4"
sodipodi:docname="RJAction.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"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs8" />
<sodipodi:namedview
id="namedview6"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="20.727068"
inkscape:cx="5.2588239"
inkscape:cy="14.594442"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
sodipodi:type="star"
style="opacity:1;fill:none;stroke:#f7b200;stroke-width:2.56906;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="path1741"
inkscape:flatsided="false"
sodipodi:sides="5"
sodipodi:cx="-8.2018356"
sodipodi:cy="-2.1710742"
sodipodi:r1="7.9176526"
sodipodi:r2="4.7268386"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.9424778"
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)" />
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

37
Icons/RJAction.svg.import Normal file
View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3o4jrbvgynae"
path="res://.godot/imported/RJAction.svg-beb0a31def94ebf28119d2bd3d7976a9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Scripts/Rokojori/Rokojori-Action-Library/Icons/RJAction.svg"
dest_files=["res://.godot/imported/RJAction.svg-beb0a31def94ebf28119d2bd3d7976a9.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

107
Icons/RJActionList.svg Normal file
View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="16"
viewBox="0 0 16 16"
width="16"
version="1.1"
id="svg4"
sodipodi:docname="RJActionList.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"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs8" />
<sodipodi:namedview
id="namedview6"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="10.363534"
inkscape:cx="-6.368484"
inkscape:cy="-0.048246091"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g560" />
<g
id="g560"
transform="translate(0.08802232,0.240022)">
<path
sodipodi:type="star"
style="opacity:1;fill:none;stroke:#f7b200;stroke-width:2.56906;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="path1741"
inkscape:flatsided="false"
sodipodi:sides="5"
sodipodi:cx="-8.2018356"
sodipodi:cy="-2.1710742"
sodipodi:r1="7.9176526"
sodipodi:r2="4.7268386"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.9424778"
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)" />
<path
sodipodi:type="star"
style="opacity:1;fill:none;stroke:#f7b200;stroke-width:2.56906;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="path546"
inkscape:flatsided="false"
sodipodi:sides="5"
sodipodi:cx="-8.2018356"
sodipodi:cy="-2.1710742"
sodipodi:r1="7.9176526"
sodipodi:r2="4.7268386"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.9424778"
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,15.042091,5.3238566)" />
<path
sodipodi:type="star"
style="opacity:1;fill:none;stroke:#f7b200;stroke-width:2.56906;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="path552"
inkscape:flatsided="false"
sodipodi:sides="5"
sodipodi:cx="-8.2018356"
sodipodi:cy="-2.1710742"
sodipodi:r1="7.9176526"
sodipodi:r2="4.7268386"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.9424778"
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,12.556266)" />
<path
sodipodi:type="star"
style="opacity:1;fill:none;stroke:#f7b200;stroke-width:2.56906;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="path554"
inkscape:flatsided="false"
sodipodi:sides="5"
sodipodi:cx="-8.2018356"
sodipodi:cy="-2.1710742"
sodipodi:r1="7.9176526"
sodipodi:r2="4.7268386"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.9424778"
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,15.042091,12.556266)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bsgb2qdpdftr4"
path="res://.godot/imported/RJActionList.svg-beaf5561f3ed1bddbcfc6914d2361da3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Scripts/Rokojori/Rokojori-Action-Library/Icons/RJActionList.svg"
dest_files=["res://.godot/imported/RJActionList.svg-beaf5561f3ed1bddbcfc6914d2361da3.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

43
Icons/RJIcon.svg Normal file
View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="16"
viewBox="0 0 16 16"
width="16"
version="1.1"
id="svg4"
sodipodi:docname="RJIcon.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"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs8" />
<sodipodi:namedview
id="namedview6"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="14.65625"
inkscape:cx="15.420042"
inkscape:cy="9.2452023"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<circle
cx="8"
cy="8"
r="5"
fill="none"
stroke-width="2"
stroke="#e0e0e0"
id="circle2" />
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

37
Icons/RJIcon.svg.import Normal file
View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cg5fnpnwnnlxp"
path="res://.godot/imported/RJIcon.svg-0c4b76f83ee560c49146d5d0e2e2cd82.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Scripts/Rokojori/Rokojori-Action-Library/Icons/RJIcon.svg"
dest_files=["res://.godot/imported/RJIcon.svg-0c4b76f83ee560c49146d5d0e2e2cd82.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

43
Icons/RJSelector.svg Normal file
View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="16"
viewBox="0 0 16 16"
width="16"
version="1.1"
id="svg4"
sodipodi:docname="RJSelector.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"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs8" />
<sodipodi:namedview
id="namedview6"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="20.727068"
inkscape:cx="5.0175934"
inkscape:cy="12.712845"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
id="rect401"
style="color:#000000;fill:#1de3ab;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none;paint-order:markers stroke fill;fill-opacity:1"
d="M 1.3300781 0.068359375 C 0.65598381 0.068359375 0.08203125 0.64035881 0.08203125 1.3144531 L 0.08203125 3.8261719 L 2.0820312 3.8261719 L 2.0820312 2.0683594 L 3.8261719 2.0683594 L 3.8261719 0.068359375 L 1.3300781 0.068359375 z M 12.173828 0.068359375 L 12.173828 2.0683594 L 13.939453 2.0683594 L 13.939453 3.8261719 L 15.939453 3.8261719 L 15.939453 1.3144531 C 15.939453 0.64035881 15.365501 0.068359375 14.691406 0.068359375 L 12.173828 0.068359375 z M 0.08203125 12.173828 L 0.08203125 14.642578 C 0.08203125 15.316672 0.65598381 15.890625 1.3300781 15.890625 L 3.8261719 15.890625 L 3.8261719 13.890625 L 2.0820312 13.890625 L 2.0820312 12.173828 L 0.08203125 12.173828 z M 13.939453 12.173828 L 13.939453 13.890625 L 12.173828 13.890625 L 12.173828 15.890625 L 14.691406 15.890625 C 15.365501 15.890625 15.939453 15.316672 15.939453 14.642578 L 15.939453 12.173828 L 13.939453 12.173828 z " />
<path
id="path1228"
style="opacity:1;fill:#1de3ab;fill-opacity:1;stroke:none;stroke-width:2.70201;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 7.2910948,2.485666 A 5.5307504,5.5307504 0 0 0 4.5684295,3.493565 l 0.99229,0.99229 A 4.1536974,4.1536974 0 0 1 7.2910948,3.8681823 Z M 8.7717252,2.552562 V 3.9640665 A 4.1536974,4.1536974 0 0 1 10.299183,4.6887727 L 11.278094,3.709862 A 5.5307504,5.5307504 0 0 0 8.7717252,2.552562 Z M 3.4891748,4.5059238 A 5.5307504,5.5307504 0 0 0 2.2984268,7.2620371 H 3.6943224 A 4.1536974,4.1536974 0 0 1 4.4680855,5.4848346 Z m 8.7945872,0.2898824 -0.994519,0.9945199 a 4.1536974,4.1536974 0 0 1 0.573076,1.471711 h 1.395895 A 5.5307504,5.5307504 0 0 0 12.283762,4.7958062 Z M 2.3006567,8.7426675 A 5.5307504,5.5307504 0 0 0 3.5047838,11.483172 L 4.4836946,10.504261 A 4.1536974,4.1536974 0 0 1 3.7032418,8.7426675 Z m 9.5594323,0 a 4.1536974,4.1536974 0 0 1 -0.575306,1.4672515 l 0.99006,0.99006 A 5.5307504,5.5307504 0 0 0 13.255984,8.7426675 Z M 10.279114,11.295864 A 4.1536974,4.1536974 0 0 1 8.7717252,12.01388 v 1.409275 a 5.5307504,5.5307504 0 0 0 2.4907588,-1.143921 z m -4.693866,0.198457 -0.9945199,0.99452 a 5.5307504,5.5307504 0 0 0 2.7003667,0.99229 V 12.098615 A 4.1536974,4.1536974 0 0 1 5.585248,11.494321 Z" />
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://di5twkhxs6ldl"
path="res://.godot/imported/RJSelector.svg-82cc12c5034e0b56287fb852d3c62b39.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Scripts/Rokojori/Rokojori-Action-Library/Icons/RJSelector.svg"
dest_files=["res://.godot/imported/RJSelector.svg-82cc12c5034e0b56287fb852d3c62b39.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

231
Icons/RJSensor.svg Normal file
View File

@ -0,0 +1,231 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="16"
viewBox="0 0 16 16"
width="16"
version="1.1"
id="svg4"
sodipodi:docname="RJSensor.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"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs8">
<linearGradient
inkscape:collect="never"
id="linearGradient10929">
<stop
style="stop-color:#5d78c1;stop-opacity:1;"
offset="0"
id="stop10925" />
<stop
style="stop-color:#4d5793;stop-opacity:1;"
offset="1"
id="stop10927" />
</linearGradient>
<linearGradient
inkscape:collect="never"
id="linearGradient10150">
<stop
style="stop-color:#223158;stop-opacity:1;"
offset="0"
id="stop10146" />
<stop
style="stop-color:#314780;stop-opacity:1;"
offset="1"
id="stop10148" />
</linearGradient>
<linearGradient
inkscape:collect="never"
id="linearGradient2791">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2787" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0.14208783"
id="stop2795" />
<stop
style="stop-color:#d1d1d1;stop-opacity:1;"
offset="1"
id="stop2789" />
</linearGradient>
<linearGradient
inkscape:collect="never"
id="linearGradient2770">
<stop
style="stop-color:#cbe6ef;stop-opacity:1;"
offset="0"
id="stop2766" />
<stop
style="stop-color:#7991cc;stop-opacity:1;"
offset="0.17897609"
id="stop2774" />
<stop
style="stop-color:#7086c9;stop-opacity:1;"
offset="1"
id="stop2768" />
</linearGradient>
<linearGradient
inkscape:collect="never"
id="linearGradient2638">
<stop
style="stop-color:#5d7dc1;stop-opacity:1;"
offset="0"
id="stop2634" />
<stop
style="stop-color:#5769b2;stop-opacity:1;"
offset="1"
id="stop2636" />
</linearGradient>
<linearGradient
inkscape:collect="never"
xlink:href="#linearGradient2638"
id="linearGradient2640"
x1="5.5241203"
y1="10.765742"
x2="13.133284"
y2="9.9986429"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="never"
xlink:href="#linearGradient2770"
id="radialGradient2772"
cx="6.0584679"
cy="3.4481783"
fx="6.0584679"
fy="3.4481783"
r="6.1221313"
gradientTransform="matrix(5.0352929,0,0,3.1702171,-26.446874,-8.2080957)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="never"
xlink:href="#linearGradient2791"
id="radialGradient2793"
cx="8.2773142"
cy="-0.40066716"
fx="8.2773142"
fy="-0.40066716"
r="3.5763378"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.492531,-0.13621279,0.13621279,1.5880776,-4.0222575,1.3630994)" />
<linearGradient
inkscape:collect="never"
xlink:href="#linearGradient10150"
id="linearGradient10152"
x1="9.9135351"
y1="9.4398756"
x2="13.804861"
y2="14.243992"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.065149,0,0,1.065149,-0.52232024,-0.04098781)" />
<linearGradient
inkscape:collect="never"
xlink:href="#linearGradient10929"
id="linearGradient10931"
x1="9.6400452"
y1="10.368964"
x2="13.999562"
y2="9.1402229"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="namedview6"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="7.3281252"
inkscape:cx="5.1855009"
inkscape:cy="13.850746"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g10886" />
<g
id="g560"
transform="translate(0.08802232,0.240022)">
<g
id="g2600"
transform="translate(-0.10534391,-0.05878716)">
<g
id="g10886"
transform="matrix(0.94595208,0,0,0.94595208,0.43331955,0.43182955)">
<path
style="fill:none;fill-opacity:1;stroke:#2a3d6d;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 1.2113514,9.5074643 1.9618845,4.5948845 c 0,0 1.1057041,-3.3588121 6.1055125,-3.2435222 5.588018,0.1288534 6.141822,3.448213 6.141822,3.448213 l 0.648188,4.6737739"
id="path10154"
sodipodi:nodetypes="ccscc" />
<ellipse
style="fill:url(#linearGradient10152);fill-opacity:1;stroke-width:15.7299;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="ellipse1592"
cx="8.0173216"
cy="10.111115"
rx="7.9731188"
ry="5.0198698" />
<g
id="g1937"
style="fill:url(#linearGradient10931);fill-opacity:1"
transform="matrix(1.141727,0,0,1.3207782,-1.1362707,-2.5415278)">
<path
id="ellipse1590"
style="fill:url(#linearGradient10931);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.2266728 5.9294205,3.2270737 0 0 0 5.9189386,-3.1290741 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" />
</g>
<ellipse
style="fill:#6983c6;fill-opacity:1;stroke-width:12.28;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="path878"
cx="8.0173216"
cy="5.5209494"
rx="6.2244768"
ry="3.9189265" />
<ellipse
style="fill:url(#radialGradient2772);fill-opacity:1;stroke-width:12.0781;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="ellipse2589"
cx="8.034379"
cy="5.2480283"
rx="6.1221313"
ry="3.8544898" />
<path
id="rect2581"
style="fill:url(#radialGradient2793);fill-opacity:1;stroke-width:5.48767;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
d="m 5.8579254,-0.9484291 8.162e-4,1.23666354 2.9586001,-3.0353e-4 -3.036e-4,2.95860009 1.2349499,-8.977e-4 3.03e-4,-2.95860011 2.957412,8.8478e-4 8.98e-4,-1.23494957 -2.9586,3.0353e-4 3.03e-4,-2.95860003 -1.2366634,-8.163e-4 8.848e-4,2.95741177 z"
transform="matrix(0.82180461,0.56976941,-0.82180461,0.56976941,0,0)" />
<path
style="fill:none;fill-opacity:1;stroke:#3d589f;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 4.5778685,3.502359 5.5934935,2.7972809 8.0251341,4.4828277 10.454822,2.7972808 11.470447,3.5023589"
id="path2912" />
<path
style="fill:#adbcd9;fill-opacity:1;stroke:#3d589f;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 4.5778684,6.8734527 7.0095091,5.1879058"
id="path7742" />
<path
style="fill:#adbcd9;fill-opacity:1;stroke:#3d589f;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 9.0388063,5.187906 11.470447,6.8734529"
id="path7744" />
<path
style="fill:#adbcd9;fill-opacity:1;stroke:#c4d3e8;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 4.5778685,3.502359 7.0095091,5.1879058"
id="path7746" />
<path
style="fill:#8daad4;fill-opacity:1;stroke:#c4d3e8;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 11.470447,3.5023589 9.0388063,5.187906"
id="path10079" />
<path
style="fill:none;fill-opacity:1;stroke:#c4d3e8;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 11.470447,6.8734529 10.454822,7.5765777 8.0251339,5.8910307 5.5934937,7.5765779 4.5778684,6.8734527"
id="path10081" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.1 KiB

37
Icons/RJSensor.svg.import Normal file
View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cexdhupggsnhd"
path="res://.godot/imported/RJSensor.svg-1fbd8106fb1975a47409ab98bb231c4f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Scripts/Rokojori/Rokojori-Action-Library/Icons/RJSensor.svg"
dest_files=["res://.godot/imported/RJSensor.svg-1fbd8106fb1975a47409ab98bb231c4f.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

View File

@ -4,7 +4,7 @@ using Godot;
namespace Rokojori
{
[GlobalClass]
[GlobalClass,Icon("res://Scripts/Rokojori/Rokojori-Action-Library/Icons/RJActionList.svg")]
public partial class ActionList : RJAction
{
[Export]
@ -12,14 +12,34 @@ namespace Rokojori
[Export]
public bool triggerDirectChildren = true;
protected override void _OnTrigger()
public override void _OnTrigger()
{
for ( int i = 0; i < actions.Length; i++ )
{
Actions.Trigger( actions[ i ] );
}
if ( actions != null )
{
for ( int i = 0; i < actions.Length; i++ )
{
Actions.Trigger( actions[ i ] );
}
}
if ( ! triggerDirectChildren )
{
return;
}
var childCount = GetChildCount();
for ( int i = 0; i < childCount; i++ )
{
var action = GetChild( i ) as RJAction;
if ( action == null )
{
continue;
}
Actions.Trigger( action );
}
}
}

View File

@ -6,7 +6,7 @@ namespace Rokojori
{
public class Actions
{
public static Trigger( RJAction action )
public static void Trigger( RJAction action )
{
if ( action == null )
{

View File

@ -0,0 +1,18 @@
using Godot;
namespace Rokojori
{
[GlobalClass]
public partial class GDPrint : RJAction
{
[Export]
public string message;
public override void _OnTrigger()
{
RJLog.Log( message );
}
}
}

View File

@ -0,0 +1,19 @@
using Godot;
namespace Rokojori
{
[GlobalClass]
public partial class OnReady : Node
{
[Export]
public RJAction action;
public override void _Ready()
{
RJLog.Log( "OnReady" );
Actions.Trigger( action );
}
}
}

View File

@ -49,7 +49,9 @@ namespace Rokojori
public static T GetAnyChild<T>( Node parent ) where T:Node
{
return (T) nodesWalker.Find( parent, ( n )=> n is T, true );
}
}
/*
public static void Enable( Node n, bool affectProcess = true, bool affectPhysicsProcess = true, bool affectInput = true )
{
@ -68,6 +70,8 @@ namespace Rokojori
nodesWalker.Iterate( nodes[ i ], callback );
}
}
*/
}
}

View File

@ -2,16 +2,16 @@ using System.Collections;
using System.Collections.Generic;
namespace Rokojori.Core
namespace Rokojori
{
public class SinlgeIterator<N>: TreeIterator<N> where N:class
public class SingleIterator<N>: TreeIterator<N> where N:class
{
N node;
N current;
public static SinlgeIterator<N> Create( N node )
public static SingleIterator<N> Create( N node )
{
var iterator = new SinlgeIterator<N>();
var iterator = new SingleIterator<N>();
iterator.node = node;
iterator.current = null;

View File

@ -106,28 +106,28 @@ namespace Rokojori
switch ( type )
{
case TreeIteratorType.Parent:
return SinlgeIterator<N>.Create( walker.Parent( node ) );
return SingleIterator<N>.Create( walker.Parent( node ) );
case TreeIteratorType.NextSibling:
return SinlgeIterator<N>.Create( walker.NextSibling( node ) );
return SingleIterator<N>.Create( walker.NextSibling( node ) );
case TreeIteratorType.PreviousSibling:
return SinlgeIterator<N>.Create( walker.PreviousSibling( node ) );
return SingleIterator<N>.Create( walker.PreviousSibling( node ) );
case TreeIteratorType.FirstChild:
return SinlgeIterator<N>.Create( walker.ChildAt( node, 0 ) );
return SingleIterator<N>.Create( walker.ChildAt( node, 0 ) );
case TreeIteratorType.LastChild:
return SinlgeIterator<N>.Create( walker.ChildAt( node, walker.NumChildren( node ) - 1 ) );
return SingleIterator<N>.Create( walker.ChildAt( node, walker.NumChildren( node ) - 1 ) );
case TreeIteratorType.LastGrandChild:
return SinlgeIterator<N>.Create( walker.LastGrandChild( node ) );
return SingleIterator<N>.Create( walker.LastGrandChild( node ) );
case TreeIteratorType.NextNode:
return SinlgeIterator<N>.Create( walker.NextNode( node ) );
return SingleIterator<N>.Create( walker.NextNode( node ) );
case TreeIteratorType.PreviousNode:
return SinlgeIterator<N>.Create( walker.PreviousNode( node ) );
return SingleIterator<N>.Create( walker.PreviousNode( node ) );
case TreeIteratorType.Parents:

41
Runtime/Logging/RJLog.cs Normal file
View File

@ -0,0 +1,41 @@
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System;
using System.Linq;
using Godot;
namespace Rokojori
{
public class RJLog
{
static void Stringify( object obj, StringBuilder output )
{
output.Append( obj.ToString() );
}
static void LogMessage( string message )
{
GD.Print( message );
}
public static void Log( params object[] objects)
{
var sb = new StringBuilder();
for ( int i = 0; i < objects.Length; i++ )
{
if ( i != 0 )
{
sb.Append( " " );
}
Stringify( objects[ i ], sb );
}
LogMessage( sb.ToString() );
}
}
}

View File

@ -0,0 +1,47 @@
using Godot;
namespace Rokojori
{
[GlobalClass,Icon("res://Scripts/Rokojori/Rokojori-Action-Library/Icons/RJSensor.svg")]
public partial class InputSensor : RJSensor
{
[Export]
public string inputActionName = "";
float _value = 0;
bool _wasActive = false;
bool _isActive = false;
public override float GetValue()
{
return _value;
}
public override bool IsActive()
{
return _isActive;
}
public override bool WasActive()
{
return _wasActive;
}
public override void UpdateValue( float value )
{
_value = value;
_wasActive = _isActive;
_isActive = _value > 0;
}
public override void _Process( double delta )
{
var inputValue = Input.GetActionRawStrength( inputActionName );
UpdateValue( inputValue );
}
}
}

View File

@ -0,0 +1,52 @@
using Godot;
namespace Rokojori
{
[GlobalClass]
public partial class OnSensor: Node
{
[Export]
public RJSensor sensor;
[Export]
public RJAction onStart;
[Export]
public RJAction onActive;
[Export]
public RJAction onEnd;
public override void _Process( double delta)
{
var active = sensor.IsActive();
var wasActive = sensor.WasActive();
if ( ! active && ! wasActive )
{
return;
}
var started = ! wasActive && active;
var ended = wasActive && ! active;
if ( started )
{
Actions.Trigger( onStart );
}
if ( active )
{
Actions.Trigger( onActive );
}
if ( ended )
{
Actions.Trigger( onActive );
}
}
}
}