添加了教育平台

This commit is contained in:
CortexCore 2023-06-29 01:01:52 +08:00
parent 254e8ccde8
commit dd10fb59e5
128 changed files with 5270 additions and 166 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bx6yl6f7ndpbr"
path="res://.godot/imported/ppt-background.png-4391d57a1d12c83b6f1052aca9a5a22d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Backgrounds/ppt-background.png"
dest_files=["res://.godot/imported/ppt-background.png-4391d57a1d12c83b6f1052aca9a5a22d.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cll880ni5wb3b"
path="res://.godot/imported/icon__keyboard-arrow-down-rounded.png-6eebbfb5bfe0fdc9feaba2c321c1cbf2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon__keyboard-arrow-down-rounded.png"
dest_files=["res://.godot/imported/icon__keyboard-arrow-down-rounded.png-6eebbfb5bfe0fdc9feaba2c321c1cbf2.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c38luts5hc5fj"
path="res://.godot/imported/icon_chevron-left-rounded.png-d52ace74f945029e7d5b9ef5d1e7cd2d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon_chevron-left-rounded.png"
dest_files=["res://.godot/imported/icon_chevron-left-rounded.png-d52ace74f945029e7d5b9ef5d1e7cd2d.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqwchhovknbro"
path="res://.godot/imported/icon_chevron-right-rounded.png-fc2ef58ba5ed5cd5007c94d3cb5f3cd4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon_chevron-right-rounded.png"
dest_files=["res://.godot/imported/icon_chevron-right-rounded.png-fc2ef58ba5ed5cd5007c94d3cb5f3cd4.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bv78twpgohary"
path="res://.godot/imported/icon_keyboard-arrow-down-left-rounded.png-32337fb2510779571bd80977d2103575.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon_keyboard-arrow-down-left-rounded.png"
dest_files=["res://.godot/imported/icon_keyboard-arrow-down-left-rounded.png-32337fb2510779571bd80977d2103575.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bgetelgylr7nj"
path="res://.godot/imported/icon_keyboard-arrow-down-right-rounded.png-6a8e82104a5b8d215fb80867e242f829.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon_keyboard-arrow-down-right-rounded.png"
dest_files=["res://.godot/imported/icon_keyboard-arrow-down-right-rounded.png-6a8e82104a5b8d215fb80867e242f829.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0f1ssbsyejr7"
path="res://.godot/imported/icon_keyboard-arrow-up-left-rounded.png-03a93ef4063488a33a9220d344cc4c13.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon_keyboard-arrow-up-left-rounded.png"
dest_files=["res://.godot/imported/icon_keyboard-arrow-up-left-rounded.png-03a93ef4063488a33a9220d344cc4c13.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3j3yrtuhphox"
path="res://.godot/imported/icon_keyboard-arrow-up-right-rounded.png-5a901c0b3659907cc60233ac33767e69.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon_keyboard-arrow-up-right-rounded.png"
dest_files=["res://.godot/imported/icon_keyboard-arrow-up-right-rounded.png-5a901c0b3659907cc60233ac33767e69.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://crm4ulb2kav7v"
path="res://.godot/imported/icon_keyboard-arrow-up-rounded.png-d24e1955228301c5b2604312a32ea227.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon_keyboard-arrow-up-rounded.png"
dest_files=["res://.godot/imported/icon_keyboard-arrow-up-rounded.png-d24e1955228301c5b2604312a32ea227.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hyja43ovrk4p"
path="res://.godot/imported/icon_rotate-left-rounded.png-647087953e261f3114b6e66ea2ba7caa.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon_rotate-left-rounded.png"
dest_files=["res://.godot/imported/icon_rotate-left-rounded.png-647087953e261f3114b6e66ea2ba7caa.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d1prw07m0wucn"
path="res://.godot/imported/icon_rotate-right-rounded.png-321aaab320c4b67e81b3836f822c0711.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Arrows/icon_rotate-right-rounded.png"
dest_files=["res://.godot/imported/icon_rotate-right-rounded.png-321aaab320c4b67e81b3836f822c0711.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://wtpa4xcg7ky4"
path="res://.godot/imported/Icon_player-pause-filled.png-df6ed8155c0cc22b6fbe24a083a11d8d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Icon_player-pause-filled.png"
dest_files=["res://.godot/imported/Icon_player-pause-filled.png-df6ed8155c0cc22b6fbe24a083a11d8d.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cans6tu1bntkn"
path="res://.godot/imported/Icon_player-play-filled.png-9ba009b04463dcd91484215e98b7c33a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/Icon_player-play-filled.png"
dest_files=["res://.godot/imported/Icon_player-play-filled.png-9ba009b04463dcd91484215e98b7c33a.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dkjlnpeapxmn"
path="res://.godot/imported/icon_baseline-percentage.png-754165b5d529be739f1114a3e28cebf1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_baseline-percentage.png"
dest_files=["res://.godot/imported/icon_baseline-percentage.png-754165b5d529be739f1114a3e28cebf1.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dv24ghy23fnje"
path="res://.godot/imported/icon_file-ppt-filled.png-00e85b76d5cfe699acbd1134787423c4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_file-ppt-filled.png"
dest_files=["res://.godot/imported/icon_file-ppt-filled.png-00e85b76d5cfe699acbd1134787423c4.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2qyr2fcp2a2j"
path="res://.godot/imported/icon_filetype-exe.png-4e03e9d57788e2dc4102d3a9d9405fd6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_filetype-exe.png"
dest_files=["res://.godot/imported/icon_filetype-exe.png-4e03e9d57788e2dc4102d3a9d9405fd6.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cai2ch4k68eyi"
path="res://.godot/imported/icon_folder-delete.png-cc132054e6534facf2d6302edac5d032.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_folder-delete.png"
dest_files=["res://.godot/imported/icon_folder-delete.png-cc132054e6534facf2d6302edac5d032.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhws1cqlkdixm"
path="res://.godot/imported/icon_folder.png-09bb9724cdeb2695a1525222c5593176.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_folder.png"
dest_files=["res://.godot/imported/icon_folder.png-09bb9724cdeb2695a1525222c5593176.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://mfyhei8n50j0"
path="res://.godot/imported/icon_gears.png-781bfeeeb0b8060598e8f00e7206cbfb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_gears.png"
dest_files=["res://.godot/imported/icon_gears.png-781bfeeeb0b8060598e8f00e7206cbfb.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://fkd63fjc550"
path="res://.godot/imported/icon_help.png-e09ffd2d69ec7c92f04af48cdcd76397.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_help.png"
dest_files=["res://.godot/imported/icon_help.png-e09ffd2d69ec7c92f04af48cdcd76397.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://jscvym83h015"
path="res://.godot/imported/icon_park-solid_install.png-26edcffe16b3bc0df6f2b5d8217fbfcc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_park-solid_install.png"
dest_files=["res://.godot/imported/icon_park-solid_install.png-26edcffe16b3bc0df6f2b5d8217fbfcc.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dyum0qcnvw2fm"
path="res://.godot/imported/icon_park-twotone_data-user.png-34020cb927a9840cf6c1b7b53a3e190b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_park-twotone_data-user.png"
dest_files=["res://.godot/imported/icon_park-twotone_data-user.png-34020cb927a9840cf6c1b7b53a3e190b.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://df2ytivbngvf4"
path="res://.godot/imported/icon_software.png-de62498618aeb6d83a87da5c83356071.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_software.png"
dest_files=["res://.godot/imported/icon_software.png-de62498618aeb6d83a87da5c83356071.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://sq1oh4tippad"
path="res://.godot/imported/icon_temperature-celsius.png-014db94285ae368b75fb5d2ddd0c058b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Icons/icon_temperature-celsius.png"
dest_files=["res://.godot/imported/icon_temperature-celsius.png-014db94285ae368b75fb5d2ddd0c058b.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://be1o87ilc237s"
path="res://.godot/imported/logo-intelli.png-8fd29d2a788c02a5ce3d00c8717b1e87.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Logos/logo-intelli.png"
dest_files=["res://.godot/imported/logo-intelli.png-8fd29d2a788c02a5ce3d00c8717b1e87.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://0x2ucgmorvoy"
path="res://.godot/imported/logo-intelli_non-color.png-c4fea4df155046836d54460bce752280.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Artists/Art/Logos/logo-intelli_non-color.png"
dest_files=["res://.godot/imported/logo-intelli_non-color.png-c4fea4df155046836d54460bce752280.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

View File

@ -22,6 +22,10 @@ public partial class RotationComponent : EntityComponent
/// 默认角度的缓存
/// </summary>
public Vector3 OriginalEuler { get; private set; }
/// <summary>
/// 可读可写的当前角度
/// </summary>
public float CurrentAngle;
public override void _Ready()
{
//保存默认角度

View File

@ -14,7 +14,7 @@ namespace BITKit;
/// <summary>
/// 单例SCADA Service,从http接口获取json后解析为指定数据
/// </summary>
public partial class SCADAService : Node
public partial class SCADAService : Node,IProvider<string>,IActivable
{
public const string _CurrentAngle="CurrentAngle";
public const string _CurrentRotation="CurrentRotation";
@ -35,31 +35,20 @@ public partial class SCADAService : Node
[Export]
private bool fixedEntities;
/// <summary>
/// 是否启用
/// </summary>
[Export]
public bool Enabled { get; set; } = true;
/// <summary>
/// 已加载的Entity
/// </summary>
private readonly Dictionary<string, IEntity> _entities = new();
/// <summary>
/// 最大并行请求数量
/// </summary>
private readonly LimitTimes limitConcurrent =new (1);
/// <summary>
/// 请求数据的间隔
/// </summary>
private readonly IntervalTimer _intervalTimer = new(1);
/// <summary>
/// 取消令牌用于取消Http Get
/// </summary>
private CancellationToken _cancellationToken;
/// <summary>
/// http客户端
/// </summary>
private readonly ServiceLoader<System.Net.Http.HttpClient> httpClient=new();
/// <summary>
/// 获取Entity并加载依赖
/// </summary>
public override async void _Ready()
{
_cancellationToken = new CancellationToken();
if (!fixedEntities) return;
await UniTask.Yield();
LoadAllEntities();
@ -87,60 +76,20 @@ public partial class SCADAService : Node
}
}
}
/// <summary>
/// 物理帧用于控制并发和间隔的同时请求数据
/// </summary>
/// <param name="delta"></param>
public override void _PhysicsProcess(double delta)
{
//等待依赖加载
//请求间隔控制+请求并发控制
if (_intervalTimer.Allow is false || httpClient.IsLoaded is false) return;
//如果url为空
if (string.IsNullOrEmpty(_url)) return;
if (!limitConcurrent.AllowOnly) return;
//提交并发
limitConcurrent.CanUpdate();
//发送请求
Request();
}
/// <summary>
/// 从http请求json
/// </summary>
private async void Request()
{
//获取json
try
{
var url = _url.Get();
var json = await httpClient.Value.GetStringAsync(url, _cancellationToken);
//取消执行,如果已取消令牌
_cancellationToken.ThrowIfCancellationRequested();
//处理json
ProcessJson(json);
}
catch (InvalidOperationException)
{
BIT4Log.Warnning(_url.Get());
//返回并发数量
limitConcurrent.Release();
}
catch (OperationCanceledException)
{
//返回并发数量
limitConcurrent.Release();
}
}
/// <summary>
/// 解析json
/// </summary>
/// <param name="json">从SCADA获取的Json</param>
private void ProcessJson(string json)
public void Set(string json)
{
if(Enabled is false)return;
//首先从result中获取数组
var jArray = JsonConvert.DeserializeObject<JObject>(json)["result"]!.ToObject<JArray>();
//然后遍历所有数组的内容
@ -151,7 +100,17 @@ public partial class SCADAService : Node
//通过Id查找已加载的Entity
if (!_entities.TryGetValue(id, out var entity)) continue;
//加载数组中的"value"为json
var _json = element["value"]!.ToObject<string>();
var _key = element["value"]!.ToString();
string _json;
if (_key.Substring(0) is "\"")
{
_json = element["value"]!.ToObject<string>();
}
else
{
_json = element["value"].ToString();
}
//获取被加载为string的json
var obj = JsonConvert.DeserializeObject(_json);
//反序列化string为原始json
@ -159,13 +118,11 @@ public partial class SCADAService : Node
//提交json和entity
ProcessEntity(value,entity);
}
//返回并发数量
limitConcurrent.Release();
}
/// <summary>
/// 提交jObject数据和Entity进行解析和处理
/// </summary>
/// <param name="jObject">json [result] [0] [value] 中的原始json</param>
/// <param name="jObject">json [result] [index] [value] 中的原始json</param>
/// <param name="entity">引用实体如PLC-ZL</param>
private static void ProcessEntity(JObject jObject, IEntity entity)
{
@ -180,14 +137,31 @@ public partial class SCADAService : Node
//加载rotation需要的path,如 var angle = value["J1"]
var path = rotationComponent.Path;
//加载以获取到的角度
var currentAngle = jObject[path]!.ToObject<float>();
var rawAngle = jObject[path]!.ToObject<float>();
//补间角度
var currentAngle = rotationComponent.CurrentAngle = Mathf.Lerp(rotationComponent.CurrentAngle, rawAngle,
90 * BITAppForGodot.DeltaTime);
//最终角度 = 当前角度*角度权重 + 角度偏移 + 原始角度
var euler = currentAngle * rotationComponent.Weight + rotationComponent.Offset + rotationComponent.OriginalEuler;
//为Node3D.Rotation提交最后的角度计算结果
rotationComponent.RotationDegrees = euler;
rotationComponent.SetMeta(_CurrentAngle,(int)currentAngle);
euler.X = Mathf.DegToRad(euler.X);
euler.Y = Mathf.DegToRad(euler.Y);
euler.Z = Mathf.DegToRad(euler.Z);
rotationComponent.Rotation = euler;
//rotationComponent.RotationDegrees = euler;
rotationComponent.SetMeta(_CurrentAngle,(int)rawAngle);
rotationComponent.SetMeta(_CurrentRotation,euler);
}
}
public string Get()
{
throw new NotImplementedException();
}
public void SetActive(bool active) => Enabled = active;
}

View File

@ -1,31 +1,40 @@
[gd_scene format=3 uid="uid://njxsnsho85w6"]
[gd_scene load_steps=4 format=3 uid="uid://njxsnsho85w6"]
[node name="PlaybackWindow" type="Window"]
initial_position = 2
title = "Playback"
size = Vector2i(308, 128)
wrap_controls = true
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXDrag.cs" id="1_8kyds"]
[ext_resource type="Texture2D" uid="uid://cans6tu1bntkn" path="res://Artists/Art/Icons/Icon_player-play-filled.png" id="2_ogljc"]
[ext_resource type="Texture2D" uid="uid://wtpa4xcg7ky4" path="res://Artists/Art/Icons/Icon_player-pause-filled.png" id="3_hi6kp"]
[node name="VBoxContainer" type="VBoxContainer" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer"]
offset_right = 512.0
offset_bottom = 64.0
script = ExtResource("1_8kyds")
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 2
size_flags_vertical = 4
[node name="CurrentTime" type="Label" parent="VBoxContainer/HBoxContainer"]
[node name="CurrentTime" type="Label" parent="HBoxContainer"]
layout_mode = 2
text = "当前时间"
[node name="NormalizeTime" type="HSlider" parent="VBoxContainer/HBoxContainer"]
[node name="TextureButton" type="TextureButton" parent="HBoxContainer"]
custom_minimum_size = Vector2(24, 24)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
toggle_mode = true
texture_normal = ExtResource("2_ogljc")
texture_pressed = ExtResource("3_hi6kp")
ignore_texture_size = true
stretch_mode = 4
[node name="NormalizeTime" type="HSlider" parent="HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
max_value = 1.0
step = 0.01
[node name="TotalTime" type="Label" parent="VBoxContainer/HBoxContainer"]
[node name="TotalTime" type="Label" parent="HBoxContainer"]
layout_mode = 2
text = "总时间"

View File

@ -0,0 +1,55 @@
[gd_scene load_steps=3 format=3 uid="uid://kjagucr1ngry"]
[ext_resource type="Texture2D" uid="uid://k3xy782w6pa0" path="res://BITKit/Art/Shapes/icon_squad_rounded-4px.png" id="1_8ekvh"]
[ext_resource type="Texture2D" uid="uid://sq1oh4tippad" path="res://Artists/Art/Icons/icon_temperature-celsius.png" id="2_722ju"]
[node name="RectangleData" type="NinePatchRect"]
self_modulate = Color(0, 0, 0, 0.501961)
custom_minimum_size = Vector2(128, 128)
texture = ExtResource("1_8ekvh")
patch_margin_left = 16
patch_margin_top = 16
patch_margin_right = 16
patch_margin_bottom = 16
[node name="TextureRect" type="TextureRect" parent="."]
self_modulate = Color(1, 1, 1, 0.501961)
custom_minimum_size = Vector2(64, 64)
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -64.0
offset_bottom = 64.0
grow_horizontal = 0
texture = ExtResource("2_722ju")
[node name="Label" type="Label" parent="."]
layout_mode = 1
offset_right = 62.0
offset_bottom = 62.0
theme_type_variation = &"HeaderSmall"
text = "温度"
horizontal_alignment = 2
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 16
[node name="Label2" type="Label" parent="MarginContainer"]
custom_minimum_size = Vector2(64, 0)
layout_mode = 2
size_flags_vertical = 1
theme_type_variation = &"HeaderLarge"
text = "32.4"
horizontal_alignment = 1
vertical_alignment = 2

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://57gvsjws6ulq"
path="res://.godot/imported/container_border_64.png-f2b35f21ddd76a96e8ad0d3eadb8ea64.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://BITKit/Art/Containers/container_border_64.png"
dest_files=["res://.godot/imported/container_border_64.png-f2b35f21ddd76a96e8ad0d3eadb8ea64.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cadf2webkrl7h"
path="res://.godot/imported/icon_subscriber-identity-module.png-9a86a84f7460b20774ab72f58be37e74.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://BITKit/Art/Icons/icon_subscriber-identity-module.png"
dest_files=["res://.godot/imported/icon_subscriber-identity-module.png-9a86a84f7460b20774ab72f58be37e74.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://k3xy782w6pa0"
path="res://.godot/imported/icon_squad_rounded-4px.png-ac042c86ca87772fcbec79a004953fc3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://BITKit/Art/Shapes/icon_squad_rounded-4px.png"
dest_files=["res://.godot/imported/icon_squad_rounded-4px.png-ac042c86ca87772fcbec79a004953fc3.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

View File

@ -17,19 +17,28 @@ public partial class FreeLookCamera : Node3D,IVirtualCamera
[Export] private float maxDistance;
[Export]
private Vector3 rotation;
private Vector3 position;
void IActivable.SetActive(bool active) => isEnabled = active;
public bool Enabled
{
get => isEnabled;
set => isEnabled = value;
}
int IVirtualCamera.FOV => fov;
bool IVirtualCamera.IsEnabled => isEnabled;
// ReSharper disable once ConvertToAutoProperty
Vector3 IVirtualCamera.Rotation =>rotation ;
// ReSharper disable once ConvertToAutoProperty
Vector3 IVirtualCamera.Position => position;
[Export()]
private Vector3 euler;
private bool isMoving;
private bool enabled;
public override void _Ready()
{
euler = Rotation;

View File

@ -43,6 +43,12 @@ public partial class VirtualCamera : Node3D, IVirtualCamera
isEnabled = active;
}
public bool Enabled
{
get => isEnabled;
set => isEnabled = value;
}
public override void _Ready()
{
CameraService.Register(this);

View File

@ -0,0 +1,33 @@
using Godot;
using System;
using System.Collections.Generic;
using System.Linq;
using BITKit;
namespace BITKit;
public partial class MultiplexGroup : Node
{
[Export] private Godot.Collections.Dictionary<string, Node> dictionary;
[Export] public string CurrentElement { get; protected set; }
public override void _Ready()
{
if (dictionary.Count > 0)
{
SetCurrentElement(dictionary.Keys.First());
}
}
public void SetCurrentElement(string currentElement)
{
foreach (var x in dictionary)
{
if (x.Value is IActivable activable)
{
activable.Enabled = x.Key == currentElement;
}
else
{
x.Value?.SetProcess(x.Key == currentElement);
}
}
}
}

View File

@ -10,6 +10,7 @@ namespace BITKit;
public partial class BITAppForGodot : Node
{
public static readonly ValidHandle AllowCursor = new();
public static float DeltaTime { get; private set; }
/// <summary>
/// 在构造函数中注册Logger
@ -77,4 +78,9 @@ public partial class BITAppForGodot : Node
{
Input.MouseMode = allow ? Input.MouseModeEnum.Visible : Input.MouseModeEnum.Captured;
}
public override void _Process(double delta)
{
DeltaTime =(float) delta;
}
}

View File

@ -18,7 +18,7 @@ public partial class DataPlayer : Node
public int CurrentFrame
{
get => _currentFrame;
set => _currentFrame = Math.Clamp(value, 0, Values?.Length ?? 0);
set => _currentFrame = Math.Clamp(value, 0, Values?.Length-1 ?? 0);
}
/// <summary>
@ -40,6 +40,12 @@ public partial class DataPlayer : Node
[Signal]
public delegate void OnPlayEventHandler();
/// <summary>
/// 停止播放回调
/// </summary>
[Signal]
public delegate void OnStopEventHandler();
/// <summary>
/// 暂停回调
/// </summary>
@ -96,6 +102,7 @@ public partial class DataPlayer : Node
public override void _Ready()
{
timer.Elapsed += Play;
EmitSignal(nameof(OnStop));
}
/// <summary>
@ -140,6 +147,7 @@ public partial class DataPlayer : Node
if (!IsPlaying) return false;
timer.Stop();
IsPlaying = IsPaused = false;
EmitSignal(nameof(OnStop));
return true;
}
@ -158,16 +166,27 @@ public partial class DataPlayer : Node
/// 继续播放或暂停播放
/// </summary>
/// <returns></returns>
public bool PlayOrPause()
public void PlayOrPause()
{
if (!IsPlaying) return false;
IsPaused = !IsPaused;
return true;
PlayOrPause(!IsPaused);
}
public void PlayOrPause(bool play)
{
IsPaused = !play;
EmitSignal(nameof(OnPlayOrPause), play);
}
//设置标准化播放时间(0-1进度)
public void SetNormalizeTime(float normalizeTime)
{
CurrentFrame = (int)(Values.Length * normalizeTime);
Process(CurrentFrame);
}
public void SetNormalizeTimeThen(float normalizeTime, bool play)
{
SetNormalizeTime(normalizeTime);
PlayOrPause(play);
}
protected override void Dispose(bool disposing)
@ -185,16 +204,23 @@ public partial class DataPlayer : Node
{
//等待返回主线程
await UniTask.SwitchToSynchronizationContext(BITApp.SynchronizationContext);
//if (IsPaused) return;
if (IsPaused) return;
//如果超过了播放长度,停止播放
if (CurrentFrame >= Values?.Length)
if (CurrentFrame >= Values?.Length-1)
{
Stop();
return;
}
EmitSignal(nameof(OnPlay));
Process(CurrentFrame++);
}
private void Process(int currentFrame)
{
//获取当前播放信息
var current = Values?[CurrentFrame++];
var current = Values?[currentFrame];
var currentNormalizeTime = (float)CurrentFrame / Values!.Length;
var currentTime = new DateTime().AddSeconds((float)CurrentFrame / frameRate);

View File

@ -0,0 +1,36 @@
using Godot;
using System;
using Godot.Collections;
namespace BITKit;
public partial class GraphFlowService : Node
{
[Export] private Godot.Collections.Dictionary<int,NodePath> nodes;
[Export] private int currentIndex = -1;
public override void _Ready()
{
if (currentIndex is not -1 && currentIndex < nodes.Count)
Entry(GetGraphNode(nodes[currentIndex]));
}
private void EntryNext()
{
if ((currentIndex + 1) >= nodes.Count) return;
currentIndex++;
Entry(GetGraphNode(nodes[currentIndex]));
}
private void Entry(GraphNode node)
{
foreach (var _node in nodes)
{
GetGraphNode(_node.Value).Overlay = GraphNode.OverlayEnum.Disabled;
}
node.Overlay = GraphNode.OverlayEnum.Position;
}
GraphNode GetGraphNode(string nodePath)
{
return GetNode<GraphNode>(nodePath);
}
}

View File

@ -0,0 +1,18 @@
using Godot;
using System;
namespace BITKit;
public partial class GraphNodeConnector : GraphEdit
{
// public override bool _IsNodeHoverValid(StringName fromNode, int fromPort, StringName toNode, int toPort)
// {
// //return base._IsNodeHoverValid(fromNode, fromPort, toNode, toPort);
// ConnectNode(fromNode, fromPort, toNode, toPort);
// return true;
// }
private void RequestConnection(StringName fromNode, int fromPort, StringName toNode, int toPort)
{
ConnectNode(fromNode, fromPort, toNode, toPort);
}
}

View File

@ -0,0 +1,24 @@
using Godot;
using System;
using System.Diagnostics;
namespace BITKit;
public partial class UXDrag : Control
{
public override Variant _GetDragData(Vector2 atPosition)
{
var label = new Label();
label.Text = "Drag";
return base._GetDragData(atPosition);
}
public override bool _CanDropData(Vector2 atPosition, Variant data)
{
return base._CanDropData(atPosition, data);
}
public override void _DropData(Vector2 atPosition, Variant data)
{
base._DropData(atPosition, data);
}
}

View File

@ -10,11 +10,12 @@ public partial class UXPanel : Control, IUXPanel
[Export] private bool allowInput;
[Export] private bool isStartPanel;
public bool IsAnimate => isAnimate;
public string Index => GetType().FullName == typeof(UXPanel).FullName ? Name : GetType().FullName;
public string Index => _index;
public bool AllowCursor => allowCursor;
public bool AllowInput => allowInput;
private string _index;
public virtual void OnEntry(){}
public virtual void Entry()
{
@ -32,6 +33,7 @@ public partial class UXPanel : Control, IUXPanel
public override void _Ready()
{
_index = GetType().FullName == typeof(UXPanel).FullName ? Name : GetType().FullName;
UXService.Register(this);
if (isStartPanel)
@ -43,8 +45,13 @@ public partial class UXPanel : Control, IUXPanel
{
UXService.Open(this as IUXPanel);
}
protected override void Dispose(bool disposing)
public override void _ExitTree()
{
UXService.UnRegister(this);
}
// protected override void Dispose(bool disposing)
// {
// UXService.UnRegister(this);
// }
}

View File

@ -67,19 +67,27 @@ public partial class UXService : Control
/// <param name="panel">UX面板</param>
public static void UnRegister(IUXPanel panel)
{
UnRegistryQueue.Enqueue(panel);
}
public static void Open<T>() where T : IUXPanel
{
}
public static void Open(IUXPanel panel) => EnableQueue.Push(panel);
public static void Open(Control control)
public static void Return()
{
if (History.TryPop(out _))
{
if(History.TryPop(out var returnPanel))
{
Open(returnPanel);
}
}
}
public static void Open(IUXPanel panel) => EnableQueue.Push(panel);
public static void Open(Control control)=>Open(control as IUXPanel);
public static void Open(string name)
{
@ -90,6 +98,11 @@ public partial class UXService : Control
/// </summary>
private static readonly Queue<IUXPanel> RegistryQueue = new();
/// <summary>
/// 内部注销面板队列
/// </summary>
private static readonly Queue<IUXPanel> UnRegistryQueue = new();
/// <summary>
/// 已注册面板字典
/// </summary>
@ -106,11 +119,9 @@ public partial class UXService : Control
private static readonly Stack<IUXPanel> EnabledPanels = new();
/// <summary>
/// 等待隐藏的面板
/// 历史面板
/// </summary>
private static readonly Stack<IUXPanel> WActivatedPanels = new();
private static readonly Stack<IUXPanel> History = new();
/// <summary>
/// 正在播放过渡动画的面板
@ -125,6 +136,10 @@ public partial class UXService : Control
public override void _Process(double delta)
{
if (TransitionPanles.Count is not 0) return;
while (UnRegistryQueue.TryDequeue(out var result))
{
Panels.Remove(result.Index);
}
while (RegistryQueue.TryDequeue(out var result))
{
Panels.Add(result.Index, result);
@ -138,6 +153,7 @@ public partial class UXService : Control
}
next.Entry();
EnabledPanels.Push(next);
History.Push(next);
return;
}
}

View File

@ -0,0 +1,13 @@
using Godot;
using System;
namespace BITKit;
public partial class UXServiceProxy : Node
{
//public static void Return() => UXService.Return();
public void Return()
{
UXService.Return();
}
}

View File

@ -0,0 +1,87 @@
using Godot;
using System;
using System.Threading;
using BITKit.Packages.Core.LazyLoad;
namespace BITKit;
public partial class HttpGet : Node,IActivable
{
/// <summary>
/// 访问的Url
/// </summary>
[Export] private string url;
/// <summary>
/// 是否启用
/// </summary>
[Export]
public bool Enabled { get; set; } = true;
[Signal]
public delegate void OnGetEventHandler(string httpContext);
/// <summary>
/// 最大并行请求数量
/// </summary>
private readonly LimitTimes limitConcurrent =new (1);
/// <summary>
/// 请求数据的间隔
/// </summary>
private readonly IntervalTimer _intervalTimer = new(1);
/// <summary>
/// http客户端
/// </summary>
private readonly ServiceLoader<System.Net.Http.HttpClient> httpClient=new();
/// <summary>
/// 取消令牌用于取消Http Get
/// </summary>
private CancellationToken _cancellationToken;
public override void _Ready()
{
_cancellationToken = new CancellationToken();
}
/// <summary>
/// 物理帧用于控制并发和间隔的同时请求数据
/// </summary>
/// <param name="delta"></param>
public override void _PhysicsProcess(double delta)
{
if(Enabled is false)return;
//等待依赖加载
//请求间隔控制+请求并发控制
if (_intervalTimer.Allow is false || httpClient.IsLoaded is false) return;
//如果url为空
if (string.IsNullOrEmpty(url)) return;
if (!limitConcurrent.AllowOnly) return;
//提交并发
limitConcurrent.CanUpdate();
//发送请求
Request();
}
private async void Request()
{
//获取json
try
{
var json = await httpClient.Value.GetStringAsync(url, _cancellationToken);
//取消执行,如果已取消令牌
_cancellationToken.ThrowIfCancellationRequested();
//调用回调
EmitSignal(nameof(OnGet), json);
}
catch (InvalidOperationException)
{
BIT4Log.Warnning(url);
//返回并发数量
limitConcurrent.Release();
}
catch (OperationCanceledException)
{
//返回并发数量
limitConcurrent.Release();
}
}
public void SetActive(bool active) => Enabled=active;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxt8k0tmbxas0"
path="res://.godot/imported/Icon_充电模组.png-9e040ac4f3effe84fb8ebecdc7c2aac0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/CAICT/Arts/Icons/Icon_充电模组.png"
dest_files=["res://.godot/imported/Icon_充电模组.png-9e040ac4f3effe84fb8ebecdc7c2aac0.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b8bffxqcl5co1"
path="res://.godot/imported/Icon_卡扣.png-4548b7b67aa0e124c6676e419b7daf09.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/CAICT/Arts/Icons/Icon_卡扣.png"
dest_files=["res://.godot/imported/Icon_卡扣.png-4548b7b67aa0e124c6676e419b7daf09.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ibj6hkvlarxe"
path="res://.godot/imported/Icon_笔记本壳.png-897d6ccd4d88bdc1ca9474194694e0b0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/CAICT/Arts/Icons/Icon_笔记本壳.png"
dest_files=["res://.godot/imported/Icon_笔记本壳.png-897d6ccd4d88bdc1ca9474194694e0b0.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bem13xcchfapu"
path="res://.godot/imported/Icon_纸张.png-77d6aeaaa54c7af7b0766c96e50065c9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/CAICT/Arts/Icons/Icon_纸张.png"
dest_files=["res://.godot/imported/Icon_纸张.png-77d6aeaaa54c7af7b0766c96e50065c9.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

View File

@ -0,0 +1,85 @@
[gd_scene load_steps=3 format=3 uid="uid://x86mmss5del3"]
[ext_resource type="Texture2D" uid="uid://57gvsjws6ulq" path="res://BITKit/Art/Containers/container_border_64.png" id="1_k2n80"]
[ext_resource type="Texture2D" uid="uid://ibj6hkvlarxe" path="res://Mods/CAICT/Arts/Icons/Icon_笔记本壳.png" id="2_5fb8a"]
[node name="ColorRect" type="ColorRect"]
custom_minimum_size = Vector2(512, 128)
color = Color(1, 1, 1, 0.12549)
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 16
[node name="TextureRect2" type="TextureRect" parent="HBoxContainer"]
self_modulate = Color(1, 1, 1, 0.501961)
custom_minimum_size = Vector2(128, 64)
layout_mode = 2
texture = ExtResource("1_k2n80")
expand_mode = 1
[node name="TextureRect" type="TextureRect" parent="HBoxContainer/TextureRect2"]
custom_minimum_size = Vector2(128, 64)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("2_5fb8a")
expand_mode = 1
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 0
alignment = 1
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "标识码:"
[node name="Label2" type="Label" parent="HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "名称:"
[node name="Label4" type="Label" parent="HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "类型:"
[node name="Label3" type="Label" parent="HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "生产时间:"
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 0
alignment = 1
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer2"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "88.209.1/00203003"
[node name="Label2" type="Label" parent="HBoxContainer/VBoxContainer2"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "笔记本壳体"
[node name="Label3" type="Label" parent="HBoxContainer/VBoxContainer2"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "物料"
[node name="Label4" type="Label" parent="HBoxContainer/VBoxContainer2"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "2022-06-24T08:41:00"

View File

@ -1,13 +1,16 @@
[gd_scene load_steps=31 format=3 uid="uid://cn6oq3npyox2m"]
[gd_scene load_steps=36 format=3 uid="uid://cn6oq3npyox2m"]
[ext_resource type="Script" path="res://BITKit/Scripts/Core/Exec.cs" id="1_ahx04"]
[ext_resource type="Script" path="res://BITKit/Scripts/Camera/CameraService.cs" id="1_jxrvb"]
[ext_resource type="PackedScene" uid="uid://cgt3ug72q13fk" path="res://Artists/Services/SCADAService.tscn" id="4_iuksm"]
[ext_resource type="Texture2D" uid="uid://bymrjkd63p3fs" path="res://Mods/EIPC/Art/Background/智慧车间.png" id="4_lngwv"]
[ext_resource type="Script" path="res://BITKit/Scripts/Channel/MultiplexGroup.cs" id="4_ql4rq"]
[ext_resource type="PackedScene" uid="uid://du51aijsw1md8" path="res://Mods/EIPC/Models/塞昇_仓储单元.glb" id="4_twm4i"]
[ext_resource type="PackedScene" uid="uid://c3obewoadhw2g" path="res://Mods/EIPC/Models/塞昇_装配单元.glb" id="5_slm5m"]
[ext_resource type="PackedScene" uid="uid://u5wgu77krbjd" path="res://Mods/EIPC/Models/塞昇_交付单元.glb" id="6_pkxbi"]
[ext_resource type="PackedScene" uid="uid://dsq4xhhjxpfrn" path="res://Mods/EIPC/Models/塞昇_仓储台屏幕.glb" id="7_7bqbr"]
[ext_resource type="Texture2D" uid="uid://cfqud28feqbuv" path="res://Mods/EIPC/Art/Texture/塞昇_Header.png" id="7_ejfcw"]
[ext_resource type="Script" path="res://BITKit/Scripts/Web/HttpGet.cs" id="7_kr3j8"]
[ext_resource type="Script" path="res://BITKit/Scripts/Camera/FreeLookCamera.cs" id="7_t1qox"]
[ext_resource type="Texture2D" uid="uid://bu1alfkonwago" path="res://Mods/EIPC/Art/Texture/赛昇_DateTime_Container.png" id="8_3erlx"]
[ext_resource type="PackedScene" uid="uid://ckckny52056cw" path="res://Mods/EIPC/Models/塞昇_仓储台机械臂底座.glb" id="8_kpd65"]
@ -26,18 +29,20 @@
[ext_resource type="Script" path="res://Artists/Scripts/Factory/PlaybackService.cs" id="22_wvbt5"]
[ext_resource type="PackedScene" uid="uid://bw0rcgp1ftr1q" path="res://Artists/Templates/UXPlayback_Element.tscn" id="23_7djjv"]
[ext_resource type="PackedScene" uid="uid://njxsnsho85w6" path="res://Artists/Templates/PlaybackWindow.tscn" id="24_keupm"]
[ext_resource type="PackedScene" uid="uid://cfdqixhj2v06e" path="res://Artists/Models/机械臂/Model_SR7CL11.glb" id="30_nf0w6"]
[ext_resource type="Script" path="res://BITKit/Scripts/Debug/SetLocationManual.cs" id="31_ygwpk"]
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_3gjuw"]
panorama = ExtResource("4_lngwv")
filter = false
[sub_resource type="Sky" id="Sky_c0f51"]
[sub_resource type="Sky" id="Sky_6iwuq"]
sky_material = SubResource("PanoramaSkyMaterial_3gjuw")
radiance_size = 0
[sub_resource type="Environment" id="Environment_8xcxk"]
background_mode = 2
sky = SubResource("Sky_c0f51")
sky = SubResource("Sky_6iwuq")
sky_custom_fov = 82.6
ambient_light_source = 2
ambient_light_color = Color(0.517647, 0.517647, 0.517647, 1)
@ -87,53 +92,21 @@ shadow_enabled = true
script = ExtResource("1_ahx04")
path = "Mods/EIPC/appsettings.json"
[node name="塞昇_仓储单元" parent="." instance=ExtResource("4_twm4i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.13486, -0.0501724, 0)
[node name="SCADA Group" type="Node" parent="."]
script = ExtResource("4_ql4rq")
dictionary = {
"HttpGet": NodePath("HttpGet")
}
CurrentElement = "HttpGet"
[node name="塞昇_装配单元" parent="." instance=ExtResource("5_slm5m")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0501724, 0)
[node name="DataPlayer" type="Node" parent="SCADA Group"]
script = ExtResource("11_o32l8")
[node name="塞昇_交付单元" parent="." instance=ExtResource("6_pkxbi")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0501724, 0)
[node name="HttpGet" type="Node" parent="SCADA Group"]
script = ExtResource("7_kr3j8")
url = "http://222.180.160.130:7081/WebApi/GetInfos?password=winner"
[node name="塞昇_仓储台屏幕" parent="." instance=ExtResource("7_7bqbr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.0696, 0.784043, 0.734538)
[node name="Label3D" type="Label3D" parent="塞昇_仓储台屏幕"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.023152, 0.203988, 0.0952591)
pixel_size = 0.0007
text = "控制台"
font_size = 76
width = 32.0
[node name="塞昇_仓储台机械臂底座" parent="." instance=ExtResource("8_kpd65")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.837477, 0.786089, -0.355281)
[node name="塞昇_仓储台机械臂底座2" parent="." instance=ExtResource("8_kpd65")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.92656, 0.786089, -0.355281)
[node name="塞昇_交付转台" parent="." instance=ExtResource("9_x5y85")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.303, 0.815, 0.389)
[node name="塞昇_物料箱" parent="." instance=ExtResource("9_plq0l")]
transform = Transform3D(4.37114e-08, -8.74228e-08, 1, -8.74228e-08, 1, 8.74228e-08, -1, -8.74228e-08, 4.37114e-08, -1.418, 0.778, 0.333)
[node name="塞昇_Lite快换放置座2v4" parent="." instance=ExtResource("10_505q5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.777, -0.66)
[node name="装配机械臂" parent="." instance=ExtResource("12_h3fov")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.847, 0.955, -0.391)
[node name="Root" parent="装配机械臂" index="0"]
Id = "RB1"
[node name="螺钉机械臂" parent="." instance=ExtResource("12_h3fov")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.929088, 0.955, -0.391)
[node name="Root" parent="螺钉机械臂" index="0"]
Id = "RB2"
[node name="塞昇_螺钉箱" parent="." instance=ExtResource("12_85p72")]
[node name="SCADAService" parent="SCADA Group" instance=ExtResource("4_iuksm")]
[node name="UX Node" type="Control" parent="."]
layout_mode = 3
@ -278,7 +251,7 @@ script = ExtResource("22_wvbt5")
root = NodePath("VFlowContainer")
label = NodePath("Label")
template = ExtResource("23_7djjv")
dataPlayer = NodePath("../../DataPlayer")
dataPlayer = NodePath("../../SCADA Group/DataPlayer")
allowCursor = true
allowInput = true
@ -336,9 +309,19 @@ grow_horizontal = 2
grow_vertical = 2
[node name="PlaybackWindow" parent="UX Node" instance=ExtResource("24_keupm")]
[node name="DataPlayer" type="Node" parent="."]
script = ExtResource("11_o32l8")
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -256.0
offset_top = 230.0
offset_right = 256.0
offset_bottom = 255.0
grow_horizontal = 2
grow_vertical = 2
alignment = 1
[node name="FreeLookCamera" type="Node3D" parent="."]
transform = Transform3D(0.87193, 0.185093, -0.453298, 0, 0.925795, 0.378025, 0.489631, -0.329612, 0.807228, 0.0278897, 0.747776, -0.0496664)
@ -349,6 +332,54 @@ wheelCurve = SubResource("Curve_ro1wv")
distance = 4.0
maxDistance = 8.0
[node name="塞昇_仓储单元" parent="." instance=ExtResource("4_twm4i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.13486, -0.0501724, 0)
[node name="塞昇_装配单元" parent="." instance=ExtResource("5_slm5m")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0501724, 0)
[node name="塞昇_交付单元" parent="." instance=ExtResource("6_pkxbi")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0501724, 0)
[node name="塞昇_仓储台屏幕" parent="." instance=ExtResource("7_7bqbr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.0696, 0.784043, 0.734538)
[node name="Label3D" type="Label3D" parent="塞昇_仓储台屏幕"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.023152, 0.203988, 0.0952591)
pixel_size = 0.0007
text = "控制台"
font_size = 76
width = 32.0
[node name="塞昇_仓储台机械臂底座" parent="." instance=ExtResource("8_kpd65")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.837477, 0.786089, -0.355281)
[node name="塞昇_仓储台机械臂底座2" parent="." instance=ExtResource("8_kpd65")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.92656, 0.786089, -0.355281)
[node name="塞昇_交付转台" parent="." instance=ExtResource("9_x5y85")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.303, 0.815, 0.389)
[node name="塞昇_物料箱" parent="." instance=ExtResource("9_plq0l")]
transform = Transform3D(4.37114e-08, -8.74228e-08, 1, -8.74228e-08, 1, 8.74228e-08, -1, -8.74228e-08, 4.37114e-08, -1.418, 0.778, 0.333)
[node name="塞昇_Lite快换放置座2v4" parent="." instance=ExtResource("10_505q5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.777, -0.66)
[node name="装配机械臂" parent="." instance=ExtResource("12_h3fov")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.847, 0.955, -0.391)
[node name="Root" parent="装配机械臂" index="0"]
Id = "RB1"
[node name="螺钉机械臂" parent="." instance=ExtResource("12_h3fov")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.929088, 0.955, -0.391)
[node name="Root" parent="螺钉机械臂" index="0"]
Id = "RB2"
[node name="塞昇_螺钉箱" parent="." instance=ExtResource("12_85p72")]
[node name="Label3D" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.01909, 0.387762)
pixel_size = 0.0019
@ -369,15 +400,29 @@ text = "螺钉枪和夹爪的模型也非常复杂
需要很多步骤去优化"
font_size = 12
[node name="Model_SR7CL11" parent="." instance=ExtResource("30_nf0w6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.40607, 0, 0.631328)
script = ExtResource("31_ygwpk")
[connection signal="OnPause" from="SCADA Group/DataPlayer" to="SCADA Group/HttpGet" method="SetActive" binds= [true]]
[connection signal="OnPlay" from="SCADA Group/DataPlayer" to="UX Node/PlaybackWindow" method="show"]
[connection signal="OnPlay" from="SCADA Group/DataPlayer" to="SCADA Group/HttpGet" method="SetActive" binds= [false]]
[connection signal="OnPlay" from="SCADA Group/DataPlayer" to="UX Node/PlaybackWindow/HBoxContainer/TextureButton" method="set_pressed_no_signal" binds= [true]]
[connection signal="OnPlayOrPause" from="SCADA Group/DataPlayer" to="UX Node/PlaybackWindow/HBoxContainer/TextureButton" method="set_pressed_no_signal"]
[connection signal="OnProcessPlay" from="SCADA Group/DataPlayer" to="SCADA Group/SCADAService" method="Set"]
[connection signal="OnSetNormalizeTime" from="SCADA Group/DataPlayer" to="UX Node/PlaybackWindow/HBoxContainer/NormalizeTime" method="set_value"]
[connection signal="OnSetPlaybackTime" from="SCADA Group/DataPlayer" to="UX Node/PlaybackWindow/HBoxContainer/CurrentTime" method="set_text"]
[connection signal="OnSetTotalTime" from="SCADA Group/DataPlayer" to="UX Node/PlaybackWindow/HBoxContainer/TotalTime" method="set_text"]
[connection signal="OnStop" from="SCADA Group/DataPlayer" to="UX Node/PlaybackWindow" method="hide"]
[connection signal="OnGet" from="SCADA Group/HttpGet" to="SCADA Group/SCADAService" method="Set"]
[connection signal="pressed" from="UX Node/HUD/VBoxContainer/Playback" to="UX Node/Playback" method="Open"]
[connection signal="pressed" from="UX Node/HUD/VBoxContainer/Settings" to="UX Node/Options" method="Open"]
[connection signal="pressed" from="UX Node/HUD/VBoxContainer/Exit" to="UX Node/HUD/VBoxContainer/Exit" method="Exit"]
[connection signal="pressed" from="UX Node/Playback/ReturnButton" to="UX Node/HUD" method="Open"]
[connection signal="pressed" from="UX Node/Options/ReturnButton" to="UX Node/HUD" method="Open"]
[connection signal="value_changed" from="UX Node/PlaybackWindow/VBoxContainer/HBoxContainer/NormalizeTime" to="DataPlayer" method="SetNormalizeTime"]
[connection signal="OnSetPlaybackTime" from="DataPlayer" to="UX Node/PlaybackWindow/VBoxContainer/HBoxContainer/CurrentTime" method="set_text"]
[connection signal="OnSetTotalTime" from="DataPlayer" to="UX Node/PlaybackWindow/VBoxContainer/HBoxContainer/TotalTime" method="set_text"]
[connection signal="toggled" from="UX Node/PlaybackWindow/HBoxContainer/TextureButton" to="SCADA Group/DataPlayer" method="PlayOrPause"]
[connection signal="value_changed" from="UX Node/PlaybackWindow/HBoxContainer/NormalizeTime" to="SCADA Group/DataPlayer" method="SetNormalizeTimeThen" binds= [false]]
[editable path="UX Node/PlaybackWindow"]
[editable path="装配机械臂"]
[editable path="螺钉机械臂"]
[editable path="UX Node/PlaybackWindow"]

View File

@ -0,0 +1,685 @@
[gd_resource type="Theme" load_steps=52 format=3 uid="uid://yepsxq6dperk"]
[ext_resource type="FontFile" uid="uid://b2qfr27bxbq1c" path="res://Mods/MinimalUI/OpenSans-Regular.ttf" id="1"]
[ext_resource type="Texture2D" uid="uid://b6f200m6quo4k" path="res://Mods/MinimalUI/icons.svg" id="2"]
[sub_resource type="FontFile" id="21"]
fallbacks = Array[Font]([ExtResource("1")])
face_index = null
embolden = null
transform = null
cache/0/16/0/ascent = 0.0
cache/0/16/0/descent = 0.0
cache/0/16/0/underline_position = 0.0
cache/0/16/0/underline_thickness = 0.0
cache/0/16/0/scale = 1.0
cache/0/16/0/glyphs/0/advance = Vector2(0, 0)
cache/0/16/0/glyphs/0/offset = Vector2(0, 0)
cache/0/16/0/glyphs/0/size = Vector2(0, 0)
cache/0/16/0/glyphs/0/uv_rect = Rect2(0, 0, 0, 0)
cache/0/16/0/glyphs/0/texture_idx = -1
cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/16/0/kerning_overrides/20/0 = Vector2(0, 0)
cache/0/16/0/kerning_overrides/28/0 = Vector2(0, 0)
cache/0/16/0/kerning_overrides/76/0 = Vector2(0, 0)
cache/0/16/0/kerning_overrides/59/0 = Vector2(0, 0)
cache/0/16/0/kerning_overrides/69/0 = Vector2(0, 0)
cache/0/16/0/kerning_overrides/12/0 = Vector2(0, 0)
cache/0/16/0/kerning_overrides/24/0 = Vector2(0, 0)
cache/0/16/0/kerning_overrides/48/0 = Vector2(0, 0)
cache/0/20/0/ascent = 0.0
cache/0/20/0/descent = 0.0
cache/0/20/0/underline_position = 0.0
cache/0/20/0/underline_thickness = 0.0
cache/0/20/0/scale = 1.0
cache/0/20/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/20/0/kerning_overrides/20/0 = Vector2(0, 0)
cache/0/20/0/kerning_overrides/28/0 = Vector2(0, 0)
cache/0/20/0/kerning_overrides/76/0 = Vector2(0, 0)
cache/0/20/0/kerning_overrides/59/0 = Vector2(0, 0)
cache/0/20/0/kerning_overrides/69/0 = Vector2(0, 0)
cache/0/20/0/kerning_overrides/12/0 = Vector2(0, 0)
cache/0/20/0/kerning_overrides/24/0 = Vector2(0, 0)
cache/0/20/0/kerning_overrides/48/0 = Vector2(0, 0)
cache/0/28/0/ascent = 0.0
cache/0/28/0/descent = 0.0
cache/0/28/0/underline_position = 0.0
cache/0/28/0/underline_thickness = 0.0
cache/0/28/0/scale = 1.0
cache/0/28/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/28/0/kerning_overrides/20/0 = Vector2(0, 0)
cache/0/28/0/kerning_overrides/28/0 = Vector2(0, 0)
cache/0/28/0/kerning_overrides/76/0 = Vector2(0, 0)
cache/0/28/0/kerning_overrides/59/0 = Vector2(0, 0)
cache/0/28/0/kerning_overrides/69/0 = Vector2(0, 0)
cache/0/28/0/kerning_overrides/12/0 = Vector2(0, 0)
cache/0/28/0/kerning_overrides/24/0 = Vector2(0, 0)
cache/0/28/0/kerning_overrides/48/0 = Vector2(0, 0)
cache/0/76/0/ascent = 0.0
cache/0/76/0/descent = 0.0
cache/0/76/0/underline_position = 0.0
cache/0/76/0/underline_thickness = 0.0
cache/0/76/0/scale = 1.0
cache/0/76/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/76/0/kerning_overrides/20/0 = Vector2(0, 0)
cache/0/76/0/kerning_overrides/28/0 = Vector2(0, 0)
cache/0/76/0/kerning_overrides/76/0 = Vector2(0, 0)
cache/0/76/0/kerning_overrides/59/0 = Vector2(0, 0)
cache/0/76/0/kerning_overrides/69/0 = Vector2(0, 0)
cache/0/76/0/kerning_overrides/12/0 = Vector2(0, 0)
cache/0/76/0/kerning_overrides/24/0 = Vector2(0, 0)
cache/0/76/0/kerning_overrides/48/0 = Vector2(0, 0)
cache/0/59/0/ascent = 0.0
cache/0/59/0/descent = 0.0
cache/0/59/0/underline_position = 0.0
cache/0/59/0/underline_thickness = 0.0
cache/0/59/0/scale = 1.0
cache/0/59/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/59/0/kerning_overrides/20/0 = Vector2(0, 0)
cache/0/59/0/kerning_overrides/28/0 = Vector2(0, 0)
cache/0/59/0/kerning_overrides/76/0 = Vector2(0, 0)
cache/0/59/0/kerning_overrides/59/0 = Vector2(0, 0)
cache/0/59/0/kerning_overrides/69/0 = Vector2(0, 0)
cache/0/59/0/kerning_overrides/12/0 = Vector2(0, 0)
cache/0/59/0/kerning_overrides/24/0 = Vector2(0, 0)
cache/0/59/0/kerning_overrides/48/0 = Vector2(0, 0)
cache/0/69/0/ascent = 0.0
cache/0/69/0/descent = 0.0
cache/0/69/0/underline_position = 0.0
cache/0/69/0/underline_thickness = 0.0
cache/0/69/0/scale = 1.0
cache/0/69/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/69/0/kerning_overrides/20/0 = Vector2(0, 0)
cache/0/69/0/kerning_overrides/28/0 = Vector2(0, 0)
cache/0/69/0/kerning_overrides/76/0 = Vector2(0, 0)
cache/0/69/0/kerning_overrides/59/0 = Vector2(0, 0)
cache/0/69/0/kerning_overrides/69/0 = Vector2(0, 0)
cache/0/69/0/kerning_overrides/12/0 = Vector2(0, 0)
cache/0/69/0/kerning_overrides/24/0 = Vector2(0, 0)
cache/0/69/0/kerning_overrides/48/0 = Vector2(0, 0)
cache/0/12/0/ascent = 0.0
cache/0/12/0/descent = 0.0
cache/0/12/0/underline_position = 0.0
cache/0/12/0/underline_thickness = 0.0
cache/0/12/0/scale = 1.0
cache/0/12/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/12/0/kerning_overrides/20/0 = Vector2(0, 0)
cache/0/12/0/kerning_overrides/28/0 = Vector2(0, 0)
cache/0/12/0/kerning_overrides/76/0 = Vector2(0, 0)
cache/0/12/0/kerning_overrides/59/0 = Vector2(0, 0)
cache/0/12/0/kerning_overrides/69/0 = Vector2(0, 0)
cache/0/12/0/kerning_overrides/12/0 = Vector2(0, 0)
cache/0/12/0/kerning_overrides/24/0 = Vector2(0, 0)
cache/0/12/0/kerning_overrides/48/0 = Vector2(0, 0)
cache/0/24/0/ascent = 0.0
cache/0/24/0/descent = 0.0
cache/0/24/0/underline_position = 0.0
cache/0/24/0/underline_thickness = 0.0
cache/0/24/0/scale = 1.0
cache/0/24/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/24/0/kerning_overrides/20/0 = Vector2(0, 0)
cache/0/24/0/kerning_overrides/28/0 = Vector2(0, 0)
cache/0/24/0/kerning_overrides/76/0 = Vector2(0, 0)
cache/0/24/0/kerning_overrides/59/0 = Vector2(0, 0)
cache/0/24/0/kerning_overrides/69/0 = Vector2(0, 0)
cache/0/24/0/kerning_overrides/12/0 = Vector2(0, 0)
cache/0/24/0/kerning_overrides/24/0 = Vector2(0, 0)
cache/0/24/0/kerning_overrides/48/0 = Vector2(0, 0)
cache/0/48/0/ascent = 0.0
cache/0/48/0/descent = 0.0
cache/0/48/0/underline_position = 0.0
cache/0/48/0/underline_thickness = 0.0
cache/0/48/0/scale = 1.0
cache/0/48/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/48/0/kerning_overrides/20/0 = Vector2(0, 0)
cache/0/48/0/kerning_overrides/28/0 = Vector2(0, 0)
cache/0/48/0/kerning_overrides/76/0 = Vector2(0, 0)
cache/0/48/0/kerning_overrides/59/0 = Vector2(0, 0)
cache/0/48/0/kerning_overrides/69/0 = Vector2(0, 0)
cache/0/48/0/kerning_overrides/12/0 = Vector2(0, 0)
cache/0/48/0/kerning_overrides/24/0 = Vector2(0, 0)
cache/0/48/0/kerning_overrides/48/0 = Vector2(0, 0)
[sub_resource type="StyleBoxFlat" id="1"]
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxFlat" id="2"]
bg_color = Color(1, 1, 1, 0)
border_width_bottom = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
expand_margin_bottom = 3.0
[sub_resource type="StyleBoxFlat" id="3"]
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(1, 1, 1, 1)
[sub_resource type="StyleBoxFlat" id="4"]
bg_color = Color(0.129412, 0.129412, 0.129412, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(1, 1, 1, 1)
[sub_resource type="AtlasTexture" id="22"]
atlas = ExtResource("2")
region = Rect2(37, 111, 18, 18)
[sub_resource type="AtlasTexture" id="23"]
atlas = ExtResource("2")
region = Rect2(85, 111, 18, 18)
[sub_resource type="AtlasTexture" id="24"]
atlas = ExtResource("2")
region = Rect2(61, 111, 18, 18)
[sub_resource type="AtlasTexture" id="25"]
atlas = ExtResource("2")
region = Rect2(13, 111, 18, 18)
[sub_resource type="StyleBoxEmpty" id="26"]
[sub_resource type="AtlasTexture" id="5"]
atlas = ExtResource("2")
region = Rect2(13, 79, 34, 19)
[sub_resource type="AtlasTexture" id="6"]
atlas = ExtResource("2")
region = Rect2(93, 79, 34, 19)
[sub_resource type="AtlasTexture" id="7"]
atlas = ExtResource("2")
region = Rect2(53, 79, 34, 19)
[sub_resource type="AtlasTexture" id="8"]
atlas = ExtResource("2")
region = Rect2(133, 79, 34, 19)
[sub_resource type="StyleBoxEmpty" id="49"]
[sub_resource type="StyleBoxFlat" id="35"]
bg_color = Color(0.129412, 0.129412, 0.129412, 1)
[sub_resource type="StyleBoxFlat" id="36"]
bg_color = Color(0.129412, 0.129412, 0.129412, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(1, 1, 1, 1)
[sub_resource type="StyleBoxFlat" id="37"]
bg_color = Color(0.282353, 0.282353, 0.282353, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(1, 1, 1, 1)
[sub_resource type="StyleBoxFlat" id="38"]
content_margin_top = 7.0
content_margin_bottom = 7.0
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.129412, 0.129412, 0.129412, 1)
[sub_resource type="StyleBoxFlat" id="39"]
content_margin_top = 7.0
content_margin_bottom = 7.0
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxLine" id="40"]
color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="AtlasTexture" id="9"]
atlas = ExtResource("2")
region = Rect2(80, 10, 12, 28)
[sub_resource type="AtlasTexture" id="10"]
atlas = ExtResource("2")
region = Rect2(112, 10, 12, 28)
[sub_resource type="AtlasTexture" id="11"]
atlas = ExtResource("2")
region = Rect2(144, 10, 12, 28)
[sub_resource type="StyleBoxFlat" id="12"]
bg_color = Color(0.282353, 0.282353, 0.282353, 1)
corner_radius_top_left = 2
corner_radius_bottom_left = 2
expand_margin_top = 2.0
expand_margin_bottom = 2.0
[sub_resource type="StyleBoxFlat" id="13"]
bg_color = Color(1, 1, 1, 1)
corner_radius_top_left = 2
corner_radius_bottom_left = 2
expand_margin_top = 2.0
expand_margin_bottom = 2.0
[sub_resource type="StyleBoxFlat" id="14"]
bg_color = Color(0.129412, 0.129412, 0.129412, 1)
corner_radius_top_left = 2
corner_radius_top_right = 2
corner_radius_bottom_right = 2
corner_radius_bottom_left = 2
expand_margin_top = 2.0
expand_margin_bottom = 2.0
[sub_resource type="StyleBoxFlat" id="27"]
bg_color = Color(0.129412, 0.129412, 0.129412, 0)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(1, 1, 1, 1)
[sub_resource type="StyleBoxFlat" id="28"]
content_margin_left = 5.0
content_margin_top = 5.0
content_margin_right = 5.0
content_margin_bottom = 5.0
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxFlat" id="29"]
content_margin_left = 5.0
content_margin_top = 5.0
content_margin_right = 5.0
content_margin_bottom = 5.0
bg_color = Color(0.129412, 0.129412, 0.129412, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxFlat" id="30"]
bg_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxLine" id="31"]
color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxFlat" id="32"]
content_margin_left = 7.0
content_margin_top = 7.0
content_margin_right = 7.0
content_margin_bottom = 7.0
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxFlat" id="33"]
bg_color = Color(0.129412, 0.129412, 0.129412, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxFlat" id="41"]
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
expand_margin_left = 2.0
expand_margin_top = 2.0
expand_margin_right = 2.0
expand_margin_bottom = 2.0
[sub_resource type="StyleBoxFlat" id="42"]
content_margin_left = 5.0
content_margin_top = 5.0
content_margin_right = 5.0
content_margin_bottom = 2.0
bg_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxFlat" id="43"]
content_margin_left = 10.0
content_margin_right = 10.0
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.129412, 0.129412, 0.129412, 1)
[sub_resource type="StyleBoxFlat" id="44"]
content_margin_left = 10.0
content_margin_top = 0.0
content_margin_right = 10.0
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
expand_margin_top = 2.0
expand_margin_bottom = 1.0
[sub_resource type="StyleBoxFlat" id="34"]
content_margin_left = 5.0
content_margin_top = 5.0
content_margin_right = 5.0
content_margin_bottom = 5.0
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxFlat" id="45"]
content_margin_left = 5.0
content_margin_top = 5.0
content_margin_right = 5.0
content_margin_bottom = 5.0
bg_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxFlat" id="46"]
content_margin_left = 7.0
content_margin_right = 7.0
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.129412, 0.129412, 0.129412, 1)
[sub_resource type="StyleBoxFlat" id="47"]
content_margin_left = 7.0
content_margin_right = 7.0
bg_color = Color(0, 0, 0, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.282353, 0.282353, 0.282353, 1)
[sub_resource type="StyleBoxLine" id="48"]
color = Color(0.282353, 0.282353, 0.282353, 1)
vertical = true
[sub_resource type="AtlasTexture" id="15"]
atlas = ExtResource("2")
region = Rect2(74, 52, 24, 10)
[sub_resource type="AtlasTexture" id="16"]
atlas = ExtResource("2")
region = Rect2(106, 52, 24, 8)
[sub_resource type="AtlasTexture" id="17"]
atlas = ExtResource("2")
region = Rect2(138, 52, 24, 8)
[sub_resource type="StyleBoxFlat" id="18"]
content_margin_left = 2.0
content_margin_top = 0.0
content_margin_right = 2.0
content_margin_bottom = 0.0
bg_color = Color(0.282353, 0.282353, 0.282353, 1)
corner_radius_top_left = 2
corner_radius_bottom_right = 2
corner_radius_bottom_left = 2
[sub_resource type="StyleBoxFlat" id="19"]
content_margin_left = 2.0
content_margin_top = 0.0
content_margin_right = 2.0
content_margin_bottom = 0.0
bg_color = Color(1, 1, 1, 1)
corner_radius_top_left = 2
corner_radius_bottom_right = 2
corner_radius_bottom_left = 2
[sub_resource type="StyleBoxFlat" id="20"]
content_margin_left = 2.0
content_margin_top = 0.0
content_margin_right = 2.0
content_margin_bottom = 0.0
bg_color = Color(0.129412, 0.129412, 0.129412, 1)
corner_radius_top_left = 2
corner_radius_bottom_right = 2
corner_radius_bottom_left = 2
[resource]
default_font = SubResource("21")
Button/colors/font_color = Color(1, 1, 1, 1)
Button/colors/font_color_disabled = Color(0.9, 0.9, 0.9, 0.2)
Button/colors/font_color_hover = Color(0.94, 0.94, 0.94, 1)
Button/colors/font_color_pressed = Color(1, 1, 1, 1)
Button/constants/hseparation = 2
Button/fonts/font = SubResource("21")
Button/styles/disabled = SubResource("1")
Button/styles/focus = SubResource("2")
Button/styles/hover = SubResource("3")
Button/styles/normal = SubResource("1")
Button/styles/pressed = SubResource("4")
CheckBox/colors/font_color = Color(0.88, 0.88, 0.88, 1)
CheckBox/colors/font_color_disabled = Color(0.9, 0.9, 0.9, 0.2)
CheckBox/colors/font_color_hover = Color(0.94, 0.94, 0.94, 1)
CheckBox/colors/font_color_hover_pressed = Color(1, 1, 1, 1)
CheckBox/colors/font_color_pressed = Color(1, 1, 1, 1)
CheckBox/constants/check_vadjust = 0
CheckBox/constants/hseparation = 4
CheckBox/fonts/font = SubResource("21")
CheckBox/icons/checked = SubResource("22")
CheckBox/icons/radio_checked = SubResource("23")
CheckBox/icons/radio_unchecked = SubResource("24")
CheckBox/icons/unchecked = SubResource("25")
CheckBox/styles/disabled = SubResource("26")
CheckBox/styles/focus = null
CheckBox/styles/hover = SubResource("26")
CheckBox/styles/hover_pressed = SubResource("26")
CheckBox/styles/normal = SubResource("26")
CheckBox/styles/pressed = SubResource("26")
CheckButton/colors/font_color = Color(0.88, 0.88, 0.88, 1)
CheckButton/colors/font_color_disabled = Color(0.9, 0.9, 0.9, 0.2)
CheckButton/colors/font_color_hover = Color(0.94, 0.94, 0.94, 1)
CheckButton/colors/font_color_hover_pressed = Color(1, 1, 1, 1)
CheckButton/colors/font_color_pressed = Color(1, 1, 1, 1)
CheckButton/constants/check_vadjust = 0
CheckButton/constants/hseparation = 4
CheckButton/fonts/font = SubResource("21")
CheckButton/icons/off = SubResource("5")
CheckButton/icons/off_disabled = SubResource("6")
CheckButton/icons/on = SubResource("7")
CheckButton/icons/on_disabled = SubResource("8")
CheckButton/styles/disabled = SubResource("49")
CheckButton/styles/focus = null
CheckButton/styles/hover = SubResource("49")
CheckButton/styles/hover_pressed = SubResource("49")
CheckButton/styles/normal = SubResource("49")
CheckButton/styles/pressed = SubResource("49")
HScrollBar/icons/decrement = null
HScrollBar/icons/decrement_highlight = null
HScrollBar/icons/increment = null
HScrollBar/icons/increment_highlight = null
HScrollBar/styles/grabber = SubResource("35")
HScrollBar/styles/grabber_highlight = SubResource("36")
HScrollBar/styles/grabber_pressed = SubResource("37")
HScrollBar/styles/scroll = SubResource("38")
HScrollBar/styles/scroll_focus = SubResource("39")
HSeparator/constants/separation = 4
HSeparator/styles/separator = SubResource("40")
HSlider/icons/grabber = SubResource("9")
HSlider/icons/grabber_disabled = SubResource("10")
HSlider/icons/grabber_highlight = SubResource("11")
HSlider/icons/tick = null
HSlider/styles/grabber_area = SubResource("12")
HSlider/styles/grabber_area_highlight = SubResource("13")
HSlider/styles/slider = SubResource("14")
LineEdit/colors/clear_button_color = Color(0.88, 0.88, 0.88, 1)
LineEdit/colors/clear_button_color_pressed = Color(1, 1, 1, 1)
LineEdit/colors/cursor_color = Color(0.94, 0.94, 0.94, 1)
LineEdit/colors/font_color = Color(0.88, 0.88, 0.88, 1)
LineEdit/colors/font_color_selected = Color(1, 1, 1, 1)
LineEdit/colors/font_color_uneditable = Color(0.88, 0.88, 0.88, 0.5)
LineEdit/colors/selection_color = Color(0.282353, 0.282353, 0.282353, 1)
LineEdit/constants/minimum_spaces = 12
LineEdit/fonts/font = SubResource("21")
LineEdit/icons/clear = null
LineEdit/styles/focus = SubResource("27")
LineEdit/styles/normal = SubResource("28")
LineEdit/styles/read_only = SubResource("29")
Panel/styles/panel = SubResource("1")
PopupMenu/colors/font_color = Color(0.88, 0.88, 0.88, 1)
PopupMenu/colors/font_color_accel = Color(0.7, 0.7, 0.7, 0.8)
PopupMenu/colors/font_color_disabled = Color(0.4, 0.4, 0.4, 0.8)
PopupMenu/colors/font_color_hover = Color(0.88, 0.88, 0.88, 1)
PopupMenu/colors/font_color_separator = Color(0.88, 0.88, 0.88, 1)
PopupMenu/constants/hseparation = 4
PopupMenu/constants/vseparation = 4
PopupMenu/fonts/font = SubResource("21")
PopupMenu/icons/checked = SubResource("22")
PopupMenu/icons/radio_checked = SubResource("23")
PopupMenu/icons/radio_unchecked = SubResource("24")
PopupMenu/icons/submenu = null
PopupMenu/icons/unchecked = SubResource("25")
PopupMenu/styles/hover = SubResource("30")
PopupMenu/styles/labeled_separator_left = SubResource("31")
PopupMenu/styles/labeled_separator_right = SubResource("31")
PopupMenu/styles/panel = SubResource("32")
PopupMenu/styles/panel_disabled = SubResource("33")
PopupMenu/styles/separator = SubResource("31")
ProgressBar/colors/font_color = Color(0.94, 0.94, 0.94, 1)
ProgressBar/colors/font_color_shadow = Color(0, 0, 0, 1)
ProgressBar/fonts/font = SubResource("21")
ProgressBar/styles/bg = SubResource("41")
ProgressBar/styles/fg = SubResource("42")
TabContainer/colors/font_color_bg = Color(0.690196, 0.690196, 0.690196, 1)
TabContainer/colors/font_color_disabled = Color(0.9, 0.9, 0.9, 0.2)
TabContainer/colors/font_color_fg = Color(0.94, 0.94, 0.94, 1)
TabContainer/constants/hseparation = 4
TabContainer/constants/label_valign_bg = 2
TabContainer/constants/label_valign_fg = 0
TabContainer/constants/side_margin = 8
TabContainer/constants/top_margin = 24
TabContainer/fonts/font = SubResource("21")
TabContainer/icons/decrement = null
TabContainer/icons/decrement_highlight = null
TabContainer/icons/increment = null
TabContainer/icons/increment_highlight = null
TabContainer/icons/menu = null
TabContainer/icons/menu_highlight = null
TabContainer/styles/panel = SubResource("1")
TabContainer/styles/tab_bg = SubResource("43")
TabContainer/styles/tab_disabled = SubResource("43")
TabContainer/styles/tab_fg = SubResource("44")
TextEdit/colors/background_color = Color(0, 0, 0, 0)
TextEdit/colors/bookmark_color = Color(0.08, 0.49, 0.98, 1)
TextEdit/colors/brace_mismatch_color = Color(1, 0.2, 0.2, 1)
TextEdit/colors/breakpoint_color = Color(0.8, 0.8, 0.4, 0.2)
TextEdit/colors/caret_background_color = Color(0, 0, 0, 1)
TextEdit/colors/caret_color = Color(0.88, 0.88, 0.88, 1)
TextEdit/colors/code_folding_color = Color(0.8, 0.8, 0.8, 0.8)
TextEdit/colors/completion_background_color = Color(0.17, 0.16, 0.2, 1)
TextEdit/colors/completion_existing_color = Color(0.87, 0.87, 0.87, 0.13)
TextEdit/colors/completion_font_color = Color(0.67, 0.67, 0.67, 1)
TextEdit/colors/completion_scroll_color = Color(1, 1, 1, 1)
TextEdit/colors/completion_selected_color = Color(0.26, 0.26, 0.27, 1)
TextEdit/colors/current_line_color = Color(0.25, 0.25, 0.26, 0.8)
TextEdit/colors/executing_line_color = Color(0.2, 0.8, 0.2, 0.4)
TextEdit/colors/font_color = Color(0.88, 0.88, 0.88, 1)
TextEdit/colors/font_color_readonly = Color(0.88, 0.88, 0.88, 0.5)
TextEdit/colors/font_color_selected = Color(0, 0, 0, 1)
TextEdit/colors/function_color = Color(0.4, 0.64, 0.81, 1)
TextEdit/colors/line_number_color = Color(0.67, 0.67, 0.67, 0.4)
TextEdit/colors/mark_color = Color(1, 0.4, 0.4, 0.4)
TextEdit/colors/member_variable_color = Color(0.9, 0.31, 0.35, 1)
TextEdit/colors/number_color = Color(0.92, 0.58, 0.2, 1)
TextEdit/colors/safe_line_number_color = Color(0.67, 0.78, 0.67, 0.6)
TextEdit/colors/selection_color = Color(0.282353, 0.282353, 0.282353, 1)
TextEdit/colors/symbol_color = Color(0.94, 0.94, 0.94, 1)
TextEdit/colors/word_highlighted_color = Color(0.8, 0.9, 0.9, 0.15)
TextEdit/constants/completion_lines = 7
TextEdit/constants/completion_max_width = 50
TextEdit/constants/completion_scroll_width = 3
TextEdit/constants/line_spacing = 4
TextEdit/fonts/font = SubResource("21")
TextEdit/icons/fold = null
TextEdit/icons/folded = null
TextEdit/icons/space = null
TextEdit/icons/tab = null
TextEdit/styles/completion = null
TextEdit/styles/focus = SubResource("27")
TextEdit/styles/normal = SubResource("34")
TextEdit/styles/read_only = SubResource("29")
Tree/colors/custom_button_font_highlight = Color(0.94, 0.94, 0.94, 1)
Tree/colors/drop_position_color = Color(1, 0.3, 0.2, 1)
Tree/colors/font_color = Color(0.69, 0.69, 0.69, 1)
Tree/colors/font_color_selected = Color(1, 1, 1, 1)
Tree/colors/guide_color = Color(0, 0, 0, 0.1)
Tree/colors/relationship_line_color = Color(0.27, 0.27, 0.27, 1)
Tree/colors/title_button_color = Color(0.88, 0.88, 0.88, 1)
Tree/constants/button_margin = 4
Tree/constants/draw_guides = 1
Tree/constants/draw_relationship_lines = 0
Tree/constants/hseparation = 4
Tree/constants/item_margin = 12
Tree/constants/scroll_border = 4
Tree/constants/scroll_speed = 12
Tree/constants/vseparation = 4
Tree/fonts/font = SubResource("21")
Tree/fonts/title_button_font = SubResource("21")
Tree/icons/arrow = null
Tree/icons/arrow_collapsed = null
Tree/icons/checked = SubResource("22")
Tree/icons/select_arrow = null
Tree/icons/unchecked = SubResource("25")
Tree/icons/updown = null
Tree/styles/bg = SubResource("1")
Tree/styles/bg_focus = null
Tree/styles/button_pressed = null
Tree/styles/cursor = null
Tree/styles/cursor_unfocused = null
Tree/styles/custom_button = null
Tree/styles/custom_button_hover = null
Tree/styles/custom_button_pressed = null
Tree/styles/selected = SubResource("45")
Tree/styles/selected_focus = SubResource("45")
Tree/styles/title_button_hover = null
Tree/styles/title_button_normal = null
Tree/styles/title_button_pressed = null
VScrollBar/icons/decrement = null
VScrollBar/icons/decrement_highlight = null
VScrollBar/icons/increment = null
VScrollBar/icons/increment_highlight = null
VScrollBar/styles/grabber = SubResource("35")
VScrollBar/styles/grabber_highlight = SubResource("36")
VScrollBar/styles/grabber_pressed = SubResource("37")
VScrollBar/styles/scroll = SubResource("46")
VScrollBar/styles/scroll_focus = SubResource("47")
VSeparator/constants/separation = 4
VSeparator/styles/separator = SubResource("48")
VSlider/icons/grabber = SubResource("15")
VSlider/icons/grabber_disabled = SubResource("16")
VSlider/icons/grabber_highlight = SubResource("17")
VSlider/icons/tick = null
VSlider/styles/grabber_area = SubResource("18")
VSlider/styles/grabber_area_highlight = SubResource("19")
VSlider/styles/slider = SubResource("20")

Binary file not shown.

View File

@ -0,0 +1,33 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://b2qfr27bxbq1c"
path="res://.godot/imported/OpenSans-Regular.ttf-ec253f060e4302b09d0e866adb759f04.fontdata"
[deps]
source_file="res://Mods/MinimalUI/OpenSans-Regular.ttf"
dest_files=["res://.godot/imported/OpenSans-Regular.ttf-ec253f060e4302b09d0e866adb759f04.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

294
Mods/MinimalUI/icons.svg Normal file
View File

@ -0,0 +1,294 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="179.02547"
height="141.05559"
viewBox="0 0 47.367154 37.320958"
version="1.1"
id="svg8"
sodipodi:docname="icons.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.7120468"
inkscape:cx="126.78513"
inkscape:cy="46.893456"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:snap-object-midpoints="false"
fit-margin-top="12"
fit-margin-left="12"
fit-margin-right="12"
fit-margin-bottom="12"
units="px"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="0"
inkscape:window-y="34"
inkscape:window-maximized="1"
inkscape:snap-nodes="false"
inkscape:snap-bbox="true"
inkscape:snap-intersection-paths="true"
inkscape:snap-global="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-midpoints="true">
<inkscape:grid
type="xygrid"
id="grid815"
spacingx="2.1166667"
spacingy="2.1166667"
empspacing="2"
originx="1.5950366"
originy="-261.14413" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Capa 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(1.5950366,1.4650777)">
<path
style="fill:none;stroke:#484848;stroke-width:1.05833328;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 2.1166667,4.8999954 H 6.3499999"
id="path817"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path819"
d="m 10.583334,4.8999954 h 4.233333"
style="fill:none;stroke:#ffffff;stroke-width:1.05833328;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path830"
d="m 21.166668,2.7833289 -1e-6,4.233333"
style="fill:none;stroke:#484848;stroke-width:2.11666656;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#212121;stroke-width:2.11666656;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 29.633335,2.7833291 -10e-7,4.233333"
id="path832"
inkscape:connector-curvature="0" />
<path
style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:2.11666656;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 38.100002,2.7833291 -1e-6,4.233333"
id="path834"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#484848;stroke-width:2.11666656;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 23.283334,13.366661 -4.233333,-1e-6"
id="path855"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path857"
d="m 31.750001,13.366661 -4.233333,-1e-6"
style="fill:none;stroke:#212121;stroke-width:2.11666656;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path868"
d="m 40.216668,13.366661 -4.233333,-1e-6"
style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:2.11666656;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.52916664;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 4.2333334,19.715063 v 0.0016 a 2.1166665,2.1166665 0 0 0 -0.8536948,0.178245 2.1166665,2.1166665 0 0 0 -1.0836547,2.790527 2.1166665,2.1166665 0 0 0 1.9373495,1.261938 v 0.001 h 0.031523 4.2018106 v -0.001 A 2.1166665,2.1166665 0 0 0 9.3198448,23.76909 l 5.292e-4,-5.29e-4 a 2.1166665,2.1166665 0 0 0 1.083125,-2.790526 2.1166665,2.1166665 0 0 0 -1.9368323,-1.261422 v -0.0016 z"
id="rect844" />
<path
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.66145831;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path838"
sodipodi:type="arc"
sodipodi:cx="4.2255821"
sodipodi:cy="21.831921"
sodipodi:rx="1.3229166"
sodipodi:ry="1.3229166"
sodipodi:start="1.1558321"
sodipodi:end="1.1556401"
sodipodi:open="true"
d="M 4.7589255,23.042562 A 1.3229166,1.3229166 0 0 1 3.014966,22.365322 1.3229166,1.3229166 0 0 1 3.6921225,20.62133 1.3229166,1.3229166 0 0 1 5.436147,21.298403 1.3229166,1.3229166 0 0 1 4.7591579,23.04246" />
<path
inkscape:connector-curvature="0"
id="path844"
d="m 14.816453,19.716184 v 0.0016 a 2.1166665,2.1166665 0 0 0 -0.853695,0.178284 2.1166665,2.1166665 0 0 0 -1.083655,2.790527 2.1166665,2.1166665 0 0 0 1.93735,1.261939 v 0.001 h 0.03152 4.201811 v -0.001 a 2.1166665,2.1166665 0 0 0 0.853178,-0.178284 l 5.29e-4,-5.29e-4 a 2.1166665,2.1166665 0 0 0 1.083125,-2.790526 2.1166665,2.1166665 0 0 0 -1.936832,-1.261421 v -0.0016 z"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.52916664;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
id="g860"
transform="translate(2.1164519,-0.00151247)">
<path
style="opacity:1;fill:#484848;fill-opacity:1;stroke:none;stroke-width:0.66145831;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path846"
sodipodi:type="arc"
sodipodi:cx="12.692249"
sodipodi:cy="21.834555"
sodipodi:rx="1.3229166"
sodipodi:ry="1.3229166"
sodipodi:start="1.1558321"
sodipodi:end="1.1556401"
sodipodi:open="true"
d="m 13.225593,23.045196 a 1.3229166,1.3229166 0 0 1 -1.74396,-0.67724 1.3229166,1.3229166 0 0 1 0.677157,-1.743992 1.3229166,1.3229166 0 0 1 1.744024,0.677073 1.3229166,1.3229166 0 0 1 -0.676989,1.744057" />
<rect
ry="0"
y="20.512409"
x="12.7"
height="2.6458333"
width="4.2333331"
id="rect854"
style="opacity:1;fill:#484848;fill-opacity:1;stroke:none;stroke-width:0.59162635;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<path
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.66145831;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path852"
sodipodi:type="arc"
sodipodi:cx="19.041983"
sodipodi:cy="21.833042"
sodipodi:rx="1.3229166"
sodipodi:ry="1.3229166"
sodipodi:start="1.1558321"
sodipodi:end="1.1556401"
sodipodi:open="true"
d="m 19.575326,23.043684 a 1.3229166,1.3229166 0 0 1 -1.743959,-0.67724 1.3229166,1.3229166 0 0 1 0.677156,-1.743992 1.3229166,1.3229166 0 0 1 1.744025,0.677072 1.3229166,1.3229166 0 0 1 -0.67699,1.744057" />
<path
inkscape:connector-curvature="0"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#484848;stroke-width:0.52916664;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 25.399838,19.715166 v 0.0016 a 2.1166665,2.1166665 0 0 0 -0.853695,0.178244 2.1166665,2.1166665 0 0 0 -1.083655,2.790527 2.1166665,2.1166665 0 0 0 1.93735,1.261938 v 10e-4 h 0.03152 4.201811 v -10e-4 a 2.1166665,2.1166665 0 0 0 0.853177,-0.178282 l 5.3e-4,-5.29e-4 a 2.1166665,2.1166665 0 0 0 1.083125,-2.790526 2.1166665,2.1166665 0 0 0 -1.936833,-1.261422 v -0.0016 z"
id="rect844-8" />
<path
style="opacity:1;fill:#484848;fill-opacity:1;stroke:none;stroke-width:0.66145831;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path838-4"
sodipodi:type="arc"
sodipodi:cx="25.392086"
sodipodi:cy="21.832026"
sodipodi:rx="1.3229166"
sodipodi:ry="1.3229166"
sodipodi:start="1.1558321"
sodipodi:end="1.1556401"
sodipodi:open="true"
d="m 25.925429,23.042667 a 1.3229166,1.3229166 0 0 1 -1.743959,-0.67724 1.3229166,1.3229166 0 0 1 0.677156,-1.743992 1.3229166,1.3229166 0 0 1 1.744025,0.677073 1.3229166,1.3229166 0 0 1 -0.676989,1.744057" />
<path
inkscape:connector-curvature="0"
id="path844-8"
d="m 35.982958,19.716287 v 0.0016 a 2.1166665,2.1166665 0 0 0 -0.853695,0.178284 2.1166665,2.1166665 0 0 0 -1.083656,2.790527 2.1166665,2.1166665 0 0 0 1.937351,1.261939 v 10e-4 h 0.03152 4.201811 v -10e-4 a 2.1166665,2.1166665 0 0 0 0.853178,-0.178284 l 5.29e-4,-5.29e-4 a 2.1166665,2.1166665 0 0 0 1.083125,-2.790526 2.1166665,2.1166665 0 0 0 -1.936832,-1.261421 v -0.0016 z"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#484848;stroke-width:0.52916664;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
transform="translate(23.282956,-0.00140854)"
id="g860-1"
style="fill:#212121;fill-opacity:1">
<path
style="opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.66145831;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path846-0"
sodipodi:type="arc"
sodipodi:cx="12.692249"
sodipodi:cy="21.834555"
sodipodi:rx="1.3229166"
sodipodi:ry="1.3229166"
sodipodi:start="1.1558321"
sodipodi:end="1.1556401"
sodipodi:open="true"
d="m 13.225593,23.045196 a 1.3229166,1.3229166 0 0 1 -1.74396,-0.67724 1.3229166,1.3229166 0 0 1 0.677157,-1.743992 1.3229166,1.3229166 0 0 1 1.744024,0.677073 1.3229166,1.3229166 0 0 1 -0.676989,1.744057" />
<rect
ry="0"
y="20.512409"
x="12.7"
height="2.6458333"
width="4.2333331"
id="rect854-3"
style="opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.59162635;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<path
style="opacity:1;fill:#484848;fill-opacity:1;stroke:none;stroke-width:0.66145831;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path852-0"
sodipodi:type="arc"
sodipodi:cx="40.208488"
sodipodi:cy="21.833147"
sodipodi:rx="1.3229166"
sodipodi:ry="1.3229166"
sodipodi:start="1.1558321"
sodipodi:end="1.1556401"
sodipodi:open="true"
d="m 40.741832,23.043789 a 1.3229166,1.3229166 0 0 1 -1.74396,-0.67724 1.3229166,1.3229166 0 0 1 0.677157,-1.743992 1.3229166,1.3229166 0 0 1 1.744024,0.677072 1.3229166,1.3229166 0 0 1 -0.676989,1.744057" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect843"
width="4.2333331"
height="4.2333331"
x="2.1166668"
y="28.183331"
ry="0" />
<rect
ry="0"
y="28.183331"
x="8.4666672"
height="4.2333331"
width="4.2333331"
id="rect845"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 9.6784241,30.521082 0.6236739,0.784048 1.372081,-2.031395"
id="path847"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.52916664;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path849"
sodipodi:type="arc"
sodipodi:cx="16.933334"
sodipodi:cy="30.299997"
sodipodi:rx="2.1166666"
sodipodi:ry="2.1166666"
sodipodi:start="1.1558321"
sodipodi:end="1.1556401"
sodipodi:open="true"
d="m 17.786684,32.237024 a 2.1166666,2.1166666 0 0 1 -2.790335,-1.083584 2.1166666,2.1166666 0 0 1 1.08345,-2.790387 2.1166666,2.1166666 0 0 1 2.790439,1.083316 2.1166666,2.1166666 0 0 1 -1.083182,2.790491" />
<path
d="m 24.136682,32.237024 a 2.1166666,2.1166666 0 0 1 -2.790335,-1.083584 2.1166666,2.1166666 0 0 1 1.083451,-2.790387 2.1166666,2.1166666 0 0 1 2.790439,1.083316 2.1166666,2.1166666 0 0 1 -1.083183,2.790491"
sodipodi:open="true"
sodipodi:end="1.1556401"
sodipodi:start="1.1558321"
sodipodi:ry="2.1166666"
sodipodi:rx="2.1166666"
sodipodi:cy="30.299997"
sodipodi:cx="23.283333"
sodipodi:type="arc"
id="path856"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.52916664;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
d="m 23.710013,31.268508 a 1.0583333,1.0583333 0 0 1 -1.395171,-0.541786 1.0583333,1.0583333 0 0 1 0.541721,-1.395196 1.0583333,1.0583333 0 0 1 1.395221,0.541656 1.0583333,1.0583333 0 0 1 -0.541591,1.395247"
sodipodi:open="true"
sodipodi:end="1.1556401"
sodipodi:start="1.1558268"
sodipodi:ry="1.0583333"
sodipodi:rx="1.0583333"
sodipodi:cy="30.299997"
sodipodi:cx="23.283333"
sodipodi:type="arc"
id="path858"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.52916664;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6f200m6quo4k"
path="res://.godot/imported/icons.svg-159a72ae654fee5867f06f52ae9ad18e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/MinimalUI/icons.svg"
dest_files=["res://.godot/imported/icons.svg-159a72ae654fee5867f06f52ae9ad18e.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

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6dpw3hl2gu10"
path="res://.godot/imported/Illustration_ABB_Rotbotic_Arm_Rendering_DWADWFF.jpg-852765a4d753a49e7748824f404c1ae0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/工业数据采集与分析应用分享/Arts/Illustrations/Illustration_ABB_Rotbotic_Arm_Rendering_DWADWFF.jpg"
dest_files=["res://.godot/imported/Illustration_ABB_Rotbotic_Arm_Rendering_DWADWFF.jpg-852765a4d753a49e7748824f404c1ae0.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

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bgwx8t6ugami"
path="res://.godot/imported/1-6分钟快速理解Modbus通信协议-480P 清晰-AVC.Cover.jpg-fa96e367ca59a226419fda549d723f11.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/工业数据采集与分析应用分享/Arts/Images/1-6分钟快速理解Modbus通信协议-480P 清晰-AVC.Cover.jpg"
dest_files=["res://.godot/imported/1-6分钟快速理解Modbus通信协议-480P 清晰-AVC.Cover.jpg-fa96e367ca59a226419fda549d723f11.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cqp41rmbnhtfg"
path="res://.godot/imported/6分钟快速理解Modbus通信协议@硬声APP.jpg-1c781426beaf132daa81bc117bef1443.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/工业数据采集与分析应用分享/Arts/Images/6分钟快速理解Modbus通信协议@硬声APP.jpg"
dest_files=["res://.godot/imported/6分钟快速理解Modbus通信协议@硬声APP.jpg-1c781426beaf132daa81bc117bef1443.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bji0qcq8fkimh"
path="res://.godot/imported/实战-模拟量数字量采集.jpg-4feb1430fba7d19082f5817a5e4a9ee8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/工业数据采集与分析应用分享/Arts/Images/实战-模拟量数字量采集.jpg"
dest_files=["res://.godot/imported/实战-模拟量数字量采集.jpg-4feb1430fba7d19082f5817a5e4a9ee8.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbbq18cuoubm3"
path="res://.godot/imported/实战-温湿度数据采集.jpg-3790ec09d4b7e6b64ce86388122c2c77.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Mods/工业数据采集与分析应用分享/Arts/Images/实战-温湿度数据采集.jpg"
dest_files=["res://.godot/imported/实战-温湿度数据采集.jpg-3790ec09d4b7e6b64ce86388122c2c77.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

Some files were not shown because too many files have changed in this diff Show More