Compare commits
4 commits
5de5a0c315
...
d8bbaaf80b
Author | SHA1 | Date | |
---|---|---|---|
|
d8bbaaf80b | ||
|
0ed6b75520 | ||
|
239fa63a0c | ||
|
5fa863114a |
32
.github/workflows/godot.yml
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
name: Build Godot Project
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, develop, "releases/**"]
|
||||
pull_request:
|
||||
branches: [main, develop, "releases/**"]
|
||||
|
||||
jobs:
|
||||
Godot:
|
||||
timeout-minutes: 15
|
||||
continue-on-error: true
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
platform: [linux, windows]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
lfs: true
|
||||
- name: Build
|
||||
id: build
|
||||
uses: manleydev/build-godot-action@v1.4.1
|
||||
with:
|
||||
name: My Simulation
|
||||
preset: ${{ matrix.platform }}
|
||||
debugMode: "true"
|
||||
# - name: Upload Artifact
|
||||
# uses: actions/upload-artifact@v2
|
||||
# with:
|
||||
# name: Client - ${{ matrix.platform }}
|
||||
# path: ${{ github.workspace }}/${{ steps.build.outputs.build }}
|
56
.gitignore
vendored
|
@ -1,40 +1,6 @@
|
|||
# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,macos,linux,godot,executable,backup,archives
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,visualstudiocode,macos,linux,godot,executable,backup,archives
|
||||
|
||||
### Archives ###
|
||||
# It's better to unpack these files and commit the raw source because
|
||||
# git has its own built in compression methods.
|
||||
*.7z
|
||||
*.jar
|
||||
*.rar
|
||||
*.zip
|
||||
*.gz
|
||||
*.gzip
|
||||
*.tgz
|
||||
*.bzip
|
||||
*.bzip2
|
||||
*.bz2
|
||||
*.xz
|
||||
*.lzma
|
||||
*.cab
|
||||
*.xar
|
||||
|
||||
# Packing-only formats
|
||||
*.iso
|
||||
*.tar
|
||||
|
||||
# Package management formats
|
||||
*.dmg
|
||||
*.xpi
|
||||
*.gem
|
||||
*.egg
|
||||
*.deb
|
||||
*.rpm
|
||||
*.msi
|
||||
*.msm
|
||||
*.msp
|
||||
*.txz
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,macos,linux,godot,executable,backup
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,visualstudiocode,macos,linux,godot,executable,backup
|
||||
|
||||
### Backup ###
|
||||
*.bak
|
||||
|
@ -50,6 +16,7 @@
|
|||
*.com
|
||||
*.exe
|
||||
*.gadget
|
||||
*.jar
|
||||
*.pif
|
||||
*.vb
|
||||
*.wsf
|
||||
|
@ -89,7 +56,8 @@ data_*/
|
|||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
@ -133,12 +101,6 @@ Temporary Items
|
|||
.history
|
||||
.ionide
|
||||
|
||||
# Support for Project snippet scope
|
||||
.vscode/*.code-snippets
|
||||
|
||||
# Ignore code-workspaces
|
||||
*.code-workspace
|
||||
|
||||
### Windows ###
|
||||
# Windows thumbnail cache files
|
||||
Thumbs.db
|
||||
|
@ -156,13 +118,17 @@ ehthumbs_vista.db
|
|||
$RECYCLE.BIN/
|
||||
|
||||
# Windows Installer files
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,macos,linux,godot,executable,backup,archives
|
||||
# End of https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,macos,linux,godot,executable,backup
|
||||
|
||||
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
|
||||
|
||||
export/**
|
||||
!export_presets.cfg
|
24
addons/beehave/blackboard.gd
Normal file
|
@ -0,0 +1,24 @@
|
|||
extends Reference
|
||||
|
||||
var blackboard = {}
|
||||
|
||||
func set(key, value, blackboard_name = 'default'):
|
||||
if not blackboard.has(blackboard_name):
|
||||
blackboard[blackboard_name] = {}
|
||||
|
||||
blackboard[blackboard_name][key] = value
|
||||
|
||||
|
||||
func get(key, default_value = null, blackboard_name = 'default'):
|
||||
if has(key, blackboard_name):
|
||||
return blackboard[blackboard_name].get(key, default_value)
|
||||
return default_value
|
||||
|
||||
|
||||
func has(key, blackboard_name = 'default'):
|
||||
return blackboard.has(blackboard_name) and blackboard[blackboard_name].has(key) and blackboard[blackboard_name][key] != null
|
||||
|
||||
|
||||
func erase(key, blackboard_name = 'default'):
|
||||
if blackboard.has(blackboard_name):
|
||||
blackboard[blackboard_name][key] = null
|
61
addons/beehave/icons/action.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg14360"
|
||||
sodipodi:docname="action.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata14366">
|
||||
<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>
|
||||
<defs
|
||||
id="defs14364" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview14362"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="12"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg14360" />
|
||||
<path
|
||||
d="M 8,4 C 5.792,4 4,5.792 4,8 c 0,2.208 1.792,4 4,4 2.208,0 4,-1.792 4,-4 C 12,5.792 10.208,4 8,4 Z M 8,0 C 3.584,0 0,3.584 0,8 c 0,4.416 3.584,8 8,8 4.416,0 8,-3.584 8,-8 C 16,3.584 12.416,0 8,0 Z M 8,14.4 C 4.464,14.4 1.6,11.536 1.6,8 1.6,4.464 4.464,1.6 8,1.6 c 3.536,0 6.4,2.864 6.4,6.4 0,3.536 -2.864,6.4 -6.4,6.4 z"
|
||||
id="path14356"
|
||||
style="fill:#efd7a5;fill-opacity:1;stroke-width:0.80000001"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path14358"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
35
addons/beehave/icons/action.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/action.svg-e8a91246d0ba9ba3cf84290d65648f06.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/action.svg"
|
||||
dest_files=[ "res://.import/action.svg-e8a91246d0ba9ba3cf84290d65648f06.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/blackboard.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg893"
|
||||
sodipodi:docname="blackboard.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata899">
|
||||
<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>
|
||||
<defs
|
||||
id="defs897" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview895"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="12"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg893" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path889"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="M 0,8.888889 H 7.111111 V 0 H 0 Z M 0,16 H 7.111111 V 10.666667 H 0 Z m 8.888889,0 H 16 V 7.111111 H 8.888889 Z m 0,-16 V 5.333333 H 16 V 0 Z"
|
||||
id="path891"
|
||||
style="fill:#b2a5ef;fill-opacity:1;stroke-width:0.8888889"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
35
addons/beehave/icons/blackboard.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/blackboard.svg-18d4dfd4f6de558de250b67251ff1e69.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/blackboard.svg"
|
||||
dest_files=[ "res://.import/blackboard.svg-18d4dfd4f6de558de250b67251ff1e69.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/category_bt.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg14360"
|
||||
sodipodi:docname="category_bt.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata14366">
|
||||
<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>
|
||||
<defs
|
||||
id="defs14364" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1051"
|
||||
id="namedview14362"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="-6.0508475"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="29"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg14360" />
|
||||
<path
|
||||
d="M 8,4 C 5.792,4 4,5.792 4,8 c 0,2.208 1.792,4 4,4 2.208,0 4,-1.792 4,-4 C 12,5.792 10.208,4 8,4 Z M 8,0 C 3.584,0 0,3.584 0,8 c 0,4.416 3.584,8 8,8 4.416,0 8,-3.584 8,-8 C 16,3.584 12.416,0 8,0 Z M 8,14.4 C 4.464,14.4 1.6,11.536 1.6,8 1.6,4.464 4.464,1.6 8,1.6 c 3.536,0 6.4,2.864 6.4,6.4 0,3.536 -2.864,6.4 -6.4,6.4 z"
|
||||
id="path14356"
|
||||
style="fill:#b2a5ef;fill-opacity:1;stroke-width:0.80000001"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path14358"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
35
addons/beehave/icons/category_bt.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/category_bt.svg-8537bebd1c5f62dca3d7ee7f17efeed4.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/category_bt.svg"
|
||||
dest_files=[ "res://.import/category_bt.svg-8537bebd1c5f62dca3d7ee7f17efeed4.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/category_composite.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg14360"
|
||||
sodipodi:docname="category_composite.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata14366">
|
||||
<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>
|
||||
<defs
|
||||
id="defs14364" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1051"
|
||||
id="namedview14362"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="-6.0508475"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="29"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg14360" />
|
||||
<path
|
||||
d="M 8,4 C 5.792,4 4,5.792 4,8 c 0,2.208 1.792,4 4,4 2.208,0 4,-1.792 4,-4 C 12,5.792 10.208,4 8,4 Z M 8,0 C 3.584,0 0,3.584 0,8 c 0,4.416 3.584,8 8,8 4.416,0 8,-3.584 8,-8 C 16,3.584 12.416,0 8,0 Z M 8,14.4 C 4.464,14.4 1.6,11.536 1.6,8 1.6,4.464 4.464,1.6 8,1.6 c 3.536,0 6.4,2.864 6.4,6.4 0,3.536 -2.864,6.4 -6.4,6.4 z"
|
||||
id="path14356"
|
||||
style="fill:#a5efac;fill-opacity:1;stroke-width:0.80000001"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path14358"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
35
addons/beehave/icons/category_composite.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/category_composite.svg-43f66e63a7ccfa5ac8ec6da0583b3246.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/category_composite.svg"
|
||||
dest_files=[ "res://.import/category_composite.svg-43f66e63a7ccfa5ac8ec6da0583b3246.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/category_decorator.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg14360"
|
||||
sodipodi:docname="category_decorator.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata14366">
|
||||
<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>
|
||||
<defs
|
||||
id="defs14364" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1051"
|
||||
id="namedview14362"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="-6.0508475"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="29"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg14360" />
|
||||
<path
|
||||
d="M 8,4 C 5.792,4 4,5.792 4,8 c 0,2.208 1.792,4 4,4 2.208,0 4,-1.792 4,-4 C 12,5.792 10.208,4 8,4 Z M 8,0 C 3.584,0 0,3.584 0,8 c 0,4.416 3.584,8 8,8 4.416,0 8,-3.584 8,-8 C 16,3.584 12.416,0 8,0 Z M 8,14.4 C 4.464,14.4 1.6,11.536 1.6,8 1.6,4.464 4.464,1.6 8,1.6 c 3.536,0 6.4,2.864 6.4,6.4 0,3.536 -2.864,6.4 -6.4,6.4 z"
|
||||
id="path14356"
|
||||
style="fill:#fc9c9c;fill-opacity:1;stroke-width:0.80000001"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path14358"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
35
addons/beehave/icons/category_decorator.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/category_decorator.svg-79d598d6456f32724156248e09d6eaf3.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/category_decorator.svg"
|
||||
dest_files=[ "res://.import/category_decorator.svg-79d598d6456f32724156248e09d6eaf3.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/condition.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg13771"
|
||||
sodipodi:docname="condition.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata13777">
|
||||
<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>
|
||||
<defs
|
||||
id="defs13775" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview13773"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="12"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg13771" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path13767"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="M 14.222222,0 H 1.7777778 C 0.7911111,0 0,0.8 0,1.7777778 V 14.222222 C 0,15.2 0.7911111,16 1.7777778,16 H 14.222222 C 15.208889,16 16,15.2 16,14.222222 V 1.7777778 C 16,0.8 15.208889,0 14.222222,0 Z M 6.2222222,12.444444 1.7777778,8 3.0311111,6.7466667 6.2222222,9.9288889 12.968889,3.1822222 14.222222,4.4444444 Z"
|
||||
id="path13769"
|
||||
style="fill:#efd7a5;fill-opacity:1;stroke-width:0.8888889"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
35
addons/beehave/icons/condition.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/condition.svg-57892684b10a64086f68c09c388b17e5.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/condition.svg"
|
||||
dest_files=[ "res://.import/condition.svg-57892684b10a64086f68c09c388b17e5.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
66
addons/beehave/icons/fail.svg
Normal file
|
@ -0,0 +1,66 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg5952"
|
||||
sodipodi:docname="fail.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata5958">
|
||||
<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>
|
||||
<defs
|
||||
id="defs5956" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview5954"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="-23.186441"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg5952"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
scale-x="1" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path5948"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 8.1694915,0.0338983 c -4.416,0 -7.99999997,3.584 -7.99999997,8 0,4.4159997 3.58399997,7.9999997 7.99999997,7.9999997 4.4160005,0 8.0000005,-3.584 8.0000005,-7.9999997 0,-4.416 -3.584,-8 -8.0000005,-8 z m 0.8,11.9999997 h -1.6 v -1.6 h 1.6 z m 0,-3.1999997 h -1.6 v -4.8 h 1.6 z"
|
||||
id="path5950"
|
||||
style="fill:#fc9c9c;fill-opacity:1;stroke-width:0.80000001"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
35
addons/beehave/icons/fail.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/fail.svg-85247bd8065819a11b971d222d3d43bb.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/fail.svg"
|
||||
dest_files=[ "res://.import/fail.svg-85247bd8065819a11b971d222d3d43bb.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/inverter.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg6553"
|
||||
sodipodi:docname="inverter.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata6559">
|
||||
<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>
|
||||
<defs
|
||||
id="defs6557" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview6555"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="-22.881356"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg6553" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z m 0,0 H 24 V 16 H 0 Z m 0,0 H 24 V 16 H 0 Z"
|
||||
id="path6549"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="M 14.222222,0 H 1.7777778 C 0.8,0 0,0.8 0,1.7777778 V 14.222222 C 0,15.2 0.8,16 1.7777778,16 H 14.222222 C 15.2,16 16,15.2 16,14.222222 V 1.7777778 C 16,0.8 15.2,0 14.222222,0 Z M 2.6666667,3.5555556 H 7.111111 V 4.8888889 H 2.6666667 Z M 14.222222,14.222222 H 1.7777778 L 14.222222,1.7777778 Z m -4,-2.666666 v 1.777777 h 1.333334 v -1.777777 h 1.777777 V 10.222222 H 11.555556 V 8.444444 h -1.333334 v 1.777778 H 8.444444 v 1.333334 z"
|
||||
id="path6551"
|
||||
style="fill:#fc9c9c;fill-opacity:1;stroke-width:0.8888889"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
35
addons/beehave/icons/inverter.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/inverter.svg-1f1b976d95de42c4ad99a92fa9a6c5d0.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/inverter.svg"
|
||||
dest_files=[ "res://.import/inverter.svg-1f1b976d95de42c4ad99a92fa9a6c5d0.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/limiter.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg7154"
|
||||
sodipodi:docname="limiter.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata7160">
|
||||
<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>
|
||||
<defs
|
||||
id="defs7158" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview7156"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="12"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg7154" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path7150"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="M 8.0685714,4.541598 10.79619,7.2768364 H 0 v 1.523809 H 10.79619 L 8.0609524,11.535884 9.142857,12.61017 13.714286,8.0387404 9.142857,3.4673123 Z M 14.47619,3.4673123 V 12.61017 H 16 V 3.4673123 Z"
|
||||
id="path7152"
|
||||
style="fill:#fc9c9c;fill-opacity:1;stroke-width:0.76190478"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
35
addons/beehave/icons/limiter.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/limiter.svg-b4c7646605c46f53c5e403fe21d8f584.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/limiter.svg"
|
||||
dest_files=[ "res://.import/limiter.svg-b4c7646605c46f53c5e403fe21d8f584.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/selector.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg12569"
|
||||
sodipodi:docname="selector.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata12575">
|
||||
<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>
|
||||
<defs
|
||||
id="defs12573" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview12571"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="12"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg12569" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path12565"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="M 3.8101694,4 H 11.81017 v 2.4 l 3.2,-3.2 -3.2,-3.2 V 2.4 H 2.2101694 v 4.8 h 1.6 z M 11.81017,12 H 3.8101694 V 9.6 L 0.61016952,12.8 3.8101694,16 V 13.6 H 13.41017 V 8.8 h -1.6 z"
|
||||
id="path12567"
|
||||
style="fill:#a5efac;fill-opacity:1;stroke-width:0.80000001"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
35
addons/beehave/icons/selector.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/selector.svg-78bccfc448bd1676b5a29bfde4b08e5b.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/selector.svg"
|
||||
dest_files=[ "res://.import/selector.svg-78bccfc448bd1676b5a29bfde4b08e5b.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
9
addons/beehave/icons/selector_star.svg
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<rect id="path12565" x="0" y="-8" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
<g transform="matrix(0.571429,0,0,0.571429,7.42857,-585.2)">
|
||||
<path d="M8,1038.1L5.626,1042.2L1,1043.3L4.236,1046.7L3.877,1051.38L8.016,1049.4L12.174,1051.34L11.778,1046.69L15,1043.3L10.374,1042.2L8,1038.1Z" style="fill:rgb(165,239,172);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<path id="path12567" d="M8.76,13.6L8.784,13.315L7.405,12L3.81,12L3.81,9.6L0.61,12.8L3.81,16L3.81,13.6L8.76,13.6ZM13.41,8.855L13.375,8.8L13.41,8.8L13.41,8.855ZM3.81,4L11.81,4L11.81,6.4L15.01,3.2L11.81,0L11.81,2.4L2.21,2.4L2.21,7.2L3.81,7.2L3.81,4Z" style="fill:rgb(165,239,172);fill-rule:nonzero;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
35
addons/beehave/icons/selector_star.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/selector_star.svg-368af7abfb9842c3f4258786871d1f03.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/selector_star.svg"
|
||||
dest_files=[ "res://.import/selector_star.svg-368af7abfb9842c3f4258786871d1f03.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/sequencer.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg13170"
|
||||
sodipodi:docname="sequence.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata13176">
|
||||
<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>
|
||||
<defs
|
||||
id="defs13174" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview13172"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="12"
|
||||
inkscape:cy="17.186441"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg13170" />
|
||||
<path
|
||||
d="M 0,9.0376644 H 1.7777778 V 7.2598874 H 0 Z M 0,12.59322 H 1.7777778 V 10.815442 H 0 Z M 0,5.4821093 H 1.7777778 V 3.7043315 H 0 Z M 3.5555556,9.0376644 H 16 V 7.2598874 H 3.5555556 Z m 0,3.5555556 H 16 V 10.815442 H 3.5555556 Z m 0,-8.8888885 V 5.4821093 H 16 V 3.7043315 Z"
|
||||
id="path13166"
|
||||
style="fill:#a5efac;fill-opacity:1;stroke-width:0.8888889"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path13168"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
35
addons/beehave/icons/sequencer.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/sequencer.svg-a7b0e1cc6b00c0067836f9a81d0b2f9b.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/sequencer.svg"
|
||||
dest_files=[ "res://.import/sequencer.svg-a7b0e1cc6b00c0067836f9a81d0b2f9b.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
9
addons/beehave/icons/sequencer_star.svg
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<rect id="path13168" x="0" y="-8" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
<g transform="matrix(0.571429,0,0,0.571429,7.42857,-585.2)">
|
||||
<path d="M8,1038.1L5.626,1042.2L1,1043.3L4.236,1046.7L3.877,1051.38L8.016,1049.4L12.174,1051.34L11.778,1046.69L15,1043.3L10.374,1042.2L8,1038.1Z" style="fill:rgb(165,239,172);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<path id="path13166" d="M0,12.593L1.778,12.593L1.778,10.815L0,10.815L0,12.593ZM5.728,10.815L3.556,10.815L3.556,12.593L7.416,12.593L5.728,10.815ZM0,9.038L1.778,9.038L1.778,7.26L0,7.26L0,9.038ZM10.976,7.26L3.556,7.26L3.556,9.038L9.946,9.038L10.976,7.26ZM13.024,7.26L14.054,9.038L16,9.038L16,7.26L13.024,7.26ZM0,5.482L1.778,5.482L1.778,3.704L0,3.704L0,5.482ZM3.556,3.704L3.556,5.482L16,5.482L16,3.704L3.556,3.704Z" style="fill:rgb(165,239,172);fill-rule:nonzero;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
35
addons/beehave/icons/sequencer_star.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/sequencer_star.svg-2385cbba0c38b4d4ec43e0996f8a3493.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/sequencer_star.svg"
|
||||
dest_files=[ "res://.import/sequencer_star.svg-2385cbba0c38b4d4ec43e0996f8a3493.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/succeed.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg5317"
|
||||
sodipodi:docname="succeed.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata5323">
|
||||
<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>
|
||||
<defs
|
||||
id="defs5321" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview5319"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="-40.576272"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg5317" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path5313"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="M 8,0 C 3.584,0 0,3.584 0,8 c 0,4.416 3.584,8 8,8 4.416,0 8,-3.584 8,-8 C 16,3.584 12.416,0 8,0 Z M 6.4,12 2.4,8 3.528,6.872 6.4,9.736 12.472,3.664 13.6,4.8 Z"
|
||||
id="path5315"
|
||||
style="fill:#fc9c9c;fill-opacity:1;stroke-width:0.80000001"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
35
addons/beehave/icons/succeed.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/succeed.svg-c70f0a6f3d9b2864e4771942f0762307.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/succeed.svg"
|
||||
dest_files=[ "res://.import/succeed.svg-c70f0a6f3d9b2864e4771942f0762307.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
61
addons/beehave/icons/tree.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg61"
|
||||
sodipodi:docname="tree.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata67">
|
||||
<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>
|
||||
<defs
|
||||
id="defs65" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1053"
|
||||
id="namedview63"
|
||||
showgrid="false"
|
||||
inkscape:zoom="36.041667"
|
||||
inkscape:cx="-2.3445086"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg61" />
|
||||
<path
|
||||
d="M 0,-8 H 24 V 16 H 0 Z"
|
||||
id="path57"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 16,8.0000002 v -6.4 h -5.6 v 2.4 H 5.6 v -2.4 H 0 v 6.4 h 5.6 v -2.4 H 7.2 V 13.6 h 3.2 V 16 H 16 V 9.6000002 H 10.4 V 12 H 8.7999998 V 5.6000002 H 10.4 v 2.4 z"
|
||||
id="path59"
|
||||
style="fill:#b2a5ef;fill-opacity:1;stroke-width:0.80000001"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
35
addons/beehave/icons/tree.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/tree.svg-c0b20ed88b2fe300c0296f7236049076.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/beehave/icons/tree.svg"
|
||||
dest_files=[ "res://.import/tree.svg-c0b20ed88b2fe300c0296f7236049076.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
8
addons/beehave/nodes/beehave_node.gd
Normal file
|
@ -0,0 +1,8 @@
|
|||
extends BeehaveTree
|
||||
|
||||
class_name BeehaveNode, "../icons/action.svg"
|
||||
|
||||
enum { SUCCESS, FAILURE, RUNNING }
|
||||
|
||||
func tick(actor, blackboard):
|
||||
pass
|
84
addons/beehave/nodes/beehave_root.gd
Normal file
|
@ -0,0 +1,84 @@
|
|||
extends BeehaveTree
|
||||
|
||||
class_name BeehaveRoot, "../icons/tree.svg"
|
||||
|
||||
const Blackboard = preload("../blackboard.gd")
|
||||
const SUCCESS = 0
|
||||
const FAILURE = 1
|
||||
const RUNNING = 2
|
||||
|
||||
enum ProcessMode {
|
||||
PHYSICS_PROCESS,
|
||||
IDLE,
|
||||
MANUAL
|
||||
}
|
||||
|
||||
export (ProcessMode) var process_mode = ProcessMode.PHYSICS_PROCESS setget set_process_mode
|
||||
export (bool) var enabled = true
|
||||
|
||||
export (NodePath) var actor_node_path
|
||||
|
||||
var actor : Node
|
||||
|
||||
onready var blackboard = Blackboard.new()
|
||||
|
||||
func _ready():
|
||||
if self.get_child_count() != 1:
|
||||
push_error("Beehave error: Root %s should have one child (NodePath: %s)" % [self.name, self.get_path()])
|
||||
disable()
|
||||
return
|
||||
|
||||
actor = get_parent()
|
||||
if actor_node_path:
|
||||
actor = get_node(actor_node_path)
|
||||
|
||||
set_process_mode(self.process_mode)
|
||||
|
||||
func _process(delta):
|
||||
tick(delta)
|
||||
|
||||
func _physics_process(delta):
|
||||
tick(delta)
|
||||
|
||||
func tick(delta):
|
||||
blackboard.set("delta", delta)
|
||||
|
||||
var status = self.get_child(0).tick(actor, blackboard)
|
||||
|
||||
if status != RUNNING:
|
||||
blackboard.set("running_action", null)
|
||||
|
||||
func get_running_action():
|
||||
if blackboard.has("running_action"):
|
||||
return blackboard.get("running_action")
|
||||
return null
|
||||
|
||||
func get_last_condition():
|
||||
if blackboard.has("last_condition"):
|
||||
return blackboard.get("last_condition")
|
||||
return null
|
||||
|
||||
func get_last_condition_status():
|
||||
if blackboard.has("last_condition_status"):
|
||||
var status = blackboard.get("last_condition_status")
|
||||
if status == SUCCESS:
|
||||
return "SUCCESS"
|
||||
elif status == FAILURE:
|
||||
return "FAILURE"
|
||||
else:
|
||||
return "RUNNING"
|
||||
return ""
|
||||
|
||||
func enable():
|
||||
self.enabled = true
|
||||
set_process_mode(self.process_mode)
|
||||
|
||||
func disable():
|
||||
self.enabled = false
|
||||
set_process(self.enabled)
|
||||
set_physics_process(self.enabled)
|
||||
|
||||
func set_process_mode(value):
|
||||
process_mode = value
|
||||
set_process(process_mode == ProcessMode.IDLE)
|
||||
set_physics_process(process_mode == ProcessMode.PHYSICS_PROCESS)
|
3
addons/beehave/nodes/beehave_tree.gd
Normal file
|
@ -0,0 +1,3 @@
|
|||
extends Node
|
||||
|
||||
class_name BeehaveTree
|
8
addons/beehave/nodes/composites/composite.gd
Normal file
|
@ -0,0 +1,8 @@
|
|||
extends BeehaveNode
|
||||
|
||||
class_name Composite, "../../icons/category_composite.svg"
|
||||
|
||||
|
||||
func _ready():
|
||||
if self.get_child_count() < 1:
|
||||
push_error("BehaviorTree Error: Composite %s should have at least one child (NodePath: %s)" % [self.name, self.get_path()])
|
18
addons/beehave/nodes/composites/selector.gd
Normal file
|
@ -0,0 +1,18 @@
|
|||
extends Composite
|
||||
|
||||
class_name SelectorComposite, "../../icons/selector.svg"
|
||||
|
||||
func tick(actor, blackboard):
|
||||
for c in get_children():
|
||||
var response = c.tick(actor, blackboard)
|
||||
|
||||
if c is ConditionLeaf:
|
||||
blackboard.set("last_condition", c)
|
||||
blackboard.set("last_condition_status", response)
|
||||
|
||||
if response != FAILURE:
|
||||
if c is ActionLeaf and response == RUNNING:
|
||||
blackboard.set("running_action", c)
|
||||
return response
|
||||
|
||||
return FAILURE
|
33
addons/beehave/nodes/composites/selector_star.gd
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Special implementation of a selector that will
|
||||
# "wait" for running nodes and will not re-attempt
|
||||
# to execute previous nodes until that node is either
|
||||
# FAILED or SUCCEEDED
|
||||
extends Composite
|
||||
|
||||
class_name SelectorStarComposite, "../../icons/selector_star.svg"
|
||||
|
||||
|
||||
var last_execution_index = 0
|
||||
|
||||
func tick(actor, blackboard):
|
||||
for c in get_children():
|
||||
if c.get_index() < last_execution_index:
|
||||
continue
|
||||
|
||||
var response = c.tick(actor, blackboard)
|
||||
|
||||
if c is ConditionLeaf:
|
||||
blackboard.set("last_condition", c)
|
||||
blackboard.set("last_condition_status", response)
|
||||
|
||||
if response != FAILURE:
|
||||
if c is ActionLeaf and response == RUNNING:
|
||||
blackboard.set("running_action", c)
|
||||
if response == SUCCESS:
|
||||
last_execution_index = 0
|
||||
return response
|
||||
else:
|
||||
last_execution_index += 1
|
||||
|
||||
last_execution_index = 0
|
||||
return FAILURE
|
18
addons/beehave/nodes/composites/sequence.gd
Normal file
|
@ -0,0 +1,18 @@
|
|||
extends Composite
|
||||
|
||||
class_name SequenceComposite, "../../icons/sequencer.svg"
|
||||
|
||||
func tick(actor, blackboard):
|
||||
for c in get_children():
|
||||
var response = c.tick(actor, blackboard)
|
||||
|
||||
if c is ConditionLeaf:
|
||||
blackboard.set("last_condition", c)
|
||||
blackboard.set("last_condition_status", response)
|
||||
|
||||
if response != SUCCESS:
|
||||
if c is ActionLeaf and response == RUNNING:
|
||||
blackboard.set("running_action", c)
|
||||
return response
|
||||
|
||||
return SUCCESS
|
35
addons/beehave/nodes/composites/sequence_star.gd
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Special implementation of sequencer who will execute
|
||||
# successful nodes only once until all nodes were successful
|
||||
|
||||
extends Composite
|
||||
|
||||
class_name SequenceStarComposite, "../../icons/sequencer_star.svg"
|
||||
|
||||
var successful_index = 0
|
||||
|
||||
func tick(actor, blackboard):
|
||||
for c in get_children():
|
||||
if c.get_index() < successful_index:
|
||||
continue
|
||||
|
||||
var response = c.tick(actor, blackboard)
|
||||
|
||||
if c is ConditionLeaf:
|
||||
blackboard.set("last_condition", c)
|
||||
blackboard.set("last_condition_status", response)
|
||||
|
||||
if response != SUCCESS:
|
||||
if response == FAILURE:
|
||||
successful_index = 0
|
||||
if c is ActionLeaf and response == RUNNING:
|
||||
blackboard.set("running_action", c)
|
||||
return response
|
||||
else:
|
||||
successful_index += 1
|
||||
|
||||
if successful_index == get_child_count():
|
||||
successful_index = 0
|
||||
return SUCCESS
|
||||
else:
|
||||
successful_index = 0
|
||||
return FAILURE
|
8
addons/beehave/nodes/decorators/decorator.gd
Normal file
|
@ -0,0 +1,8 @@
|
|||
extends BeehaveNode
|
||||
|
||||
class_name Decorator, "../../icons/category_decorator.svg"
|
||||
|
||||
|
||||
func _ready():
|
||||
if self.get_child_count() != 1:
|
||||
push_error("Beehave Error: Decorator %s should have only one child (NodePath: %s)" % [self.name, self.get_path()])
|
11
addons/beehave/nodes/decorators/failer.gd
Normal file
|
@ -0,0 +1,11 @@
|
|||
extends Decorator
|
||||
|
||||
class_name AlwaysFailDecorator, "../../icons/fail.svg"
|
||||
|
||||
|
||||
func tick(action, blackboard):
|
||||
for c in get_children():
|
||||
var response = c.tick(action, blackboard)
|
||||
if response == RUNNING:
|
||||
return RUNNING
|
||||
return FAILURE
|
17
addons/beehave/nodes/decorators/inverter.gd
Normal file
|
@ -0,0 +1,17 @@
|
|||
extends Decorator
|
||||
|
||||
class_name InverterDecorator, "../../icons/inverter.svg"
|
||||
|
||||
|
||||
func tick(action, blackboard):
|
||||
for c in get_children():
|
||||
var response = c.tick(action, blackboard)
|
||||
|
||||
if response == SUCCESS:
|
||||
return FAILURE
|
||||
if response == FAILURE:
|
||||
return SUCCESS
|
||||
|
||||
if c is Leaf and response == RUNNING:
|
||||
blackboard.set("running_action", c)
|
||||
return RUNNING
|
19
addons/beehave/nodes/decorators/limiter.gd
Normal file
|
@ -0,0 +1,19 @@
|
|||
extends Decorator
|
||||
|
||||
class_name LimiterDecorator, "../../icons/limiter.svg"
|
||||
|
||||
onready var cache_key = 'limiter_%s' % self.get_instance_id()
|
||||
|
||||
export (float) var max_count = 0
|
||||
|
||||
func tick(actor, blackboard):
|
||||
var current_count = blackboard.get(cache_key)
|
||||
|
||||
if current_count == null:
|
||||
current_count = 0
|
||||
|
||||
if current_count <= max_count:
|
||||
blackboard.set(cache_key, current_count + 1)
|
||||
return self.get_child(0).tick(actor, blackboard)
|
||||
else:
|
||||
return FAILED
|
11
addons/beehave/nodes/decorators/succeeder.gd
Normal file
|
@ -0,0 +1,11 @@
|
|||
extends Decorator
|
||||
|
||||
class_name AlwaysSucceedDecorator, "../../icons/succeed.svg"
|
||||
|
||||
|
||||
func tick(action, blackboard):
|
||||
for c in get_children():
|
||||
var response = c.tick(action, blackboard)
|
||||
if response == RUNNING:
|
||||
return RUNNING
|
||||
return SUCCESS
|
3
addons/beehave/nodes/leaves/action.gd
Normal file
|
@ -0,0 +1,3 @@
|
|||
extends Leaf
|
||||
|
||||
class_name ActionLeaf, "../../icons/action.svg"
|
3
addons/beehave/nodes/leaves/condition.gd
Normal file
|
@ -0,0 +1,3 @@
|
|||
extends Leaf
|
||||
|
||||
class_name ConditionLeaf, "../../icons/condition.svg"
|
3
addons/beehave/nodes/leaves/leaf.gd
Normal file
|
@ -0,0 +1,3 @@
|
|||
extends BeehaveNode
|
||||
|
||||
class_name Leaf, "../../icons/action.svg"
|
7
addons/beehave/plugin.cfg
Normal file
|
@ -0,0 +1,7 @@
|
|||
[plugin]
|
||||
|
||||
name="Beehave"
|
||||
description="🐝 Behaviour Tree addon for Godot Engine"
|
||||
author="bitbrain"
|
||||
version="1.2.0"
|
||||
script="plugin.gd"
|
5
addons/beehave/plugin.gd
Normal file
|
@ -0,0 +1,5 @@
|
|||
tool
|
||||
extends EditorPlugin
|
||||
|
||||
func _init():
|
||||
print("Beehave initialized!")
|
21
addons/godot-version-management/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019 Tomek
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
70
addons/godot-version-management/README.md
Normal file
|
@ -0,0 +1,70 @@
|
|||
# Godot Version Manager
|
||||
|
||||
<img src="https://raw.githubusercontent.com/fcazalet/godot-version-management/main/icon.png" width="64" height="64">
|
||||
|
||||
This addon is for developpers that want a centralized place for version naming / build number and then display it in game.
|
||||
|
||||
It allow you to configure version and build in project settings.
|
||||
|
||||
These configurations are synchronized to all existing export of your project.
|
||||
|
||||
Moreover configurations can be loaded for in game display.
|
||||
|
||||
## How to install it
|
||||
|
||||
You can find this addon in Godot AssetLibrary
|
||||
See the Godot Addon install section : https://docs.godotengine.org/en/stable/tutorials/plugins/editor/installing_plugins.html
|
||||
|
||||
## How to use it for exports
|
||||
|
||||
Once the addon activated it add two entry in your project configuration:
|
||||
|
||||
- Application / Config / Version as String (application/config/version default to 0.0.1)
|
||||
- Application / Config / Build as Integer (application/config/build default to 1)
|
||||
|
||||
You can change the version and the build numbers.
|
||||
It will update all your exports versions value to the project config value.
|
||||
Then you need to reload the project (Project / Reload current project).
|
||||
|
||||
See below section to know why you need to reload project.
|
||||
|
||||
For Android exports:
|
||||
* version is version/name
|
||||
* build is version/code
|
||||
|
||||
For iOS and MacOS exports:
|
||||
* version is application/short_version
|
||||
* build is application/version
|
||||
|
||||
For Windows Desktop exports:
|
||||
* version is application/file_version and application/product_version
|
||||
|
||||
For HTML5 and UWP exports no versions specified.
|
||||
|
||||
## How to use it for in game display
|
||||
|
||||
The version and build numbers can be accessed for in game use like that:
|
||||
|
||||
|
||||
```GDScript
|
||||
# To get version string
|
||||
var version = ProjectSettings.get_setting("application/config/version")
|
||||
# To get build number
|
||||
var build = ProjectSettings.get_setting("application/config/build")
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
## Why I need to reload project ?
|
||||
|
||||
The GodotVersionManager addon update the export-presets.cfg file.
|
||||
|
||||
Because of Godot keep in memory ExportsSettings and do not reload it from export-presets.cfg file you will need to reload your project.
|
||||
|
||||
When project is loaded Godot load in memory the export-presets.cfg .
|
||||
|
||||
## Support Me
|
||||
|
||||
You to buy me a coffee ?
|
||||
<a href='https://ko-fi.com/J3J2COV54' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi3.png?v=3' border='0' alt='Buy Me a Coffee' /></a>
|
78
addons/godot-version-management/godot_version_manager.gd
Normal file
|
@ -0,0 +1,78 @@
|
|||
# By Erasor
|
||||
tool
|
||||
extends EditorPlugin
|
||||
|
||||
const PLUGIN_NAME = "Godot-Version-Manager"
|
||||
const DEBUG = true
|
||||
# Use same name as https://github.com/godotengine/godot/pull/35555
|
||||
const PROJECT_VERSION_SETTING = "application/config/version"
|
||||
const PROJECT_BUILD_SETTING = "application/config/build"
|
||||
const EXPORT_PRESETS_FILE = "res://export_presets.cfg"
|
||||
var current_version
|
||||
var current_build
|
||||
|
||||
func _enter_tree():
|
||||
if not ProjectSettings.has_setting(PROJECT_VERSION_SETTING):
|
||||
ProjectSettings.set_setting(PROJECT_VERSION_SETTING, "0.0.1")
|
||||
if not ProjectSettings.has_setting(PROJECT_BUILD_SETTING):
|
||||
ProjectSettings.set_setting(PROJECT_BUILD_SETTING, 1)
|
||||
current_version = ProjectSettings.get_setting(PROJECT_VERSION_SETTING)
|
||||
current_build = ProjectSettings.get_setting(PROJECT_BUILD_SETTING)
|
||||
|
||||
|
||||
func _exit_tree():
|
||||
# Do not remove the verson config, may conflict with https://github.com/godotengine/godot/pull/35555
|
||||
pass
|
||||
|
||||
|
||||
func apply_changes():
|
||||
_update_export_presets()
|
||||
|
||||
|
||||
func save_external_data():
|
||||
_update_export_presets()
|
||||
|
||||
|
||||
func _update_export_presets():
|
||||
# If config version changed, update all exports
|
||||
if ProjectSettings.get_setting(PROJECT_VERSION_SETTING) != current_version:
|
||||
var export_config: ConfigFile = ConfigFile.new()
|
||||
var err = export_config.load(EXPORT_PRESETS_FILE)
|
||||
if err == OK:
|
||||
# Loop limited to 100 exports
|
||||
for i in range(0, 100):
|
||||
var section = "preset." + str(i)
|
||||
if export_config.has_section(section):
|
||||
plugin_log("Update Export " + export_config.get_value(section, "platform"))
|
||||
# Update Android exports configs
|
||||
if export_config.get_value(section, "platform") == "Android":
|
||||
export_config.set_value(section + ".options", 'version/name', ProjectSettings.get_setting(PROJECT_VERSION_SETTING))
|
||||
export_config.set_value(section + ".options", 'version/code', ProjectSettings.get_setting(PROJECT_BUILD_SETTING))
|
||||
if export_config.get_value(section, "platform") == "iOS" or export_config.get_value(section, "platform") == "Mac OSX":
|
||||
export_config.set_value(section + ".options", 'application/short_version', ProjectSettings.get_setting(PROJECT_VERSION_SETTING))
|
||||
export_config.set_value(section + ".options", 'application/version', ProjectSettings.get_setting(PROJECT_BUILD_SETTING))
|
||||
if export_config.get_value(section, "platform") == "UWP":
|
||||
# TODO parsing of version to minor/major
|
||||
pass
|
||||
if export_config.get_value(section, "platform") == "Windows Desktop":
|
||||
export_config.set_value(section + ".options", 'application/file_version', ProjectSettings.get_setting(PROJECT_VERSION_SETTING))
|
||||
export_config.set_value(section + ".options", 'application/product_version', ProjectSettings.get_setting(PROJECT_VERSION_SETTING))
|
||||
else:
|
||||
break
|
||||
err = export_config.save(EXPORT_PRESETS_FILE)
|
||||
ProjectSettings.save()
|
||||
if err == OK:
|
||||
plugin_log("All exports updated")
|
||||
else:
|
||||
plugin_log("Error saving " + EXPORT_PRESETS_FILE + ", exports not updated")
|
||||
else:
|
||||
plugin_log('Error open ' + EXPORT_PRESETS_FILE)
|
||||
|
||||
|
||||
func plugin_log(message):
|
||||
if (DEBUG):
|
||||
var time : Dictionary = OS.get_datetime()
|
||||
var date_string : String = "%02d:%02d" % [time.hour, time.minute]
|
||||
print(date_string, " - ", PLUGIN_NAME, " - ", message)
|
||||
|
||||
|
8
addons/godot-version-management/plugin.cfg
Normal file
|
@ -0,0 +1,8 @@
|
|||
[plugin]
|
||||
|
||||
name="Godot-Version-Manager"
|
||||
description="Godot plugin to manage versions for exports.
|
||||
It centralize the version number in project."
|
||||
author="Erasor"
|
||||
version="1.0.0"
|
||||
script="godot_version_manager.gd"
|
141
export_presets.cfg
Normal file
|
@ -0,0 +1,141 @@
|
|||
[preset.0]
|
||||
|
||||
name="windows"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
binary_format/64_bits=true
|
||||
binary_format/embed_pck=false
|
||||
texture_format/bptc=false
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
texture_format/no_bptc_fallbacks=true
|
||||
codesign/enable=false
|
||||
codesign/identity_type=0
|
||||
codesign/identity=""
|
||||
codesign/password=""
|
||||
codesign/timestamp=true
|
||||
codesign/timestamp_server_url=""
|
||||
codesign/digest_algorithm=1
|
||||
codesign/description=""
|
||||
codesign/custom_options=PoolStringArray( )
|
||||
application/modify_resources=true
|
||||
application/icon=""
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
application/company_name=""
|
||||
application/product_name=""
|
||||
application/file_description=""
|
||||
application/copyright=""
|
||||
application/trademarks=""
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="mac"
|
||||
platform="Mac OSX"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
application/name=""
|
||||
application/info="Made with Godot Engine"
|
||||
application/icon=""
|
||||
application/identifier="com.tonybark.mysim"
|
||||
application/signature=""
|
||||
application/app_category="Simulation-games"
|
||||
application/short_version="1.0"
|
||||
application/version="1.0"
|
||||
application/copyright=""
|
||||
display/high_res=false
|
||||
privacy/microphone_usage_description=""
|
||||
privacy/camera_usage_description=""
|
||||
privacy/location_usage_description=""
|
||||
privacy/address_book_usage_description=""
|
||||
privacy/calendar_usage_description=""
|
||||
privacy/photos_library_usage_description=""
|
||||
privacy/desktop_folder_usage_description=""
|
||||
privacy/documents_folder_usage_description=""
|
||||
privacy/downloads_folder_usage_description=""
|
||||
privacy/network_volumes_usage_description=""
|
||||
privacy/removable_volumes_usage_description=""
|
||||
codesign/enable=true
|
||||
codesign/identity=""
|
||||
codesign/timestamp=true
|
||||
codesign/hardened_runtime=true
|
||||
codesign/replace_existing_signature=true
|
||||
codesign/entitlements/custom_file=""
|
||||
codesign/entitlements/allow_jit_code_execution=false
|
||||
codesign/entitlements/allow_unsigned_executable_memory=false
|
||||
codesign/entitlements/allow_dyld_environment_variables=false
|
||||
codesign/entitlements/disable_library_validation=false
|
||||
codesign/entitlements/audio_input=false
|
||||
codesign/entitlements/camera=false
|
||||
codesign/entitlements/location=false
|
||||
codesign/entitlements/address_book=false
|
||||
codesign/entitlements/calendars=false
|
||||
codesign/entitlements/photos_library=false
|
||||
codesign/entitlements/apple_events=false
|
||||
codesign/entitlements/debugging=false
|
||||
codesign/entitlements/app_sandbox/enabled=false
|
||||
codesign/entitlements/app_sandbox/network_server=false
|
||||
codesign/entitlements/app_sandbox/network_client=false
|
||||
codesign/entitlements/app_sandbox/device_usb=false
|
||||
codesign/entitlements/app_sandbox/device_bluetooth=false
|
||||
codesign/entitlements/app_sandbox/files_downloads=0
|
||||
codesign/entitlements/app_sandbox/files_pictures=0
|
||||
codesign/entitlements/app_sandbox/files_music=0
|
||||
codesign/entitlements/app_sandbox/files_movies=0
|
||||
codesign/custom_options=PoolStringArray( )
|
||||
notarization/enable=false
|
||||
notarization/apple_id_name=""
|
||||
notarization/apple_id_password=""
|
||||
notarization/apple_team_id=""
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
|
||||
[preset.2]
|
||||
|
||||
name="linux"
|
||||
platform="Linux/X11"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.2.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
binary_format/64_bits=true
|
||||
binary_format/embed_pck=false
|
||||
texture_format/bptc=false
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
texture_format/no_bptc_fallbacks=true
|
108
project.godot
|
@ -8,6 +8,106 @@
|
|||
|
||||
config_version=4
|
||||
|
||||
_global_script_classes=[ {
|
||||
"base": "Leaf",
|
||||
"class": "ActionLeaf",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/leaves/action.gd"
|
||||
}, {
|
||||
"base": "Decorator",
|
||||
"class": "AlwaysFailDecorator",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/decorators/failer.gd"
|
||||
}, {
|
||||
"base": "Decorator",
|
||||
"class": "AlwaysSucceedDecorator",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/decorators/succeeder.gd"
|
||||
}, {
|
||||
"base": "BeehaveTree",
|
||||
"class": "BeehaveNode",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/beehave_node.gd"
|
||||
}, {
|
||||
"base": "BeehaveTree",
|
||||
"class": "BeehaveRoot",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/beehave_root.gd"
|
||||
}, {
|
||||
"base": "Node",
|
||||
"class": "BeehaveTree",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/beehave_tree.gd"
|
||||
}, {
|
||||
"base": "BeehaveNode",
|
||||
"class": "Composite",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/composites/composite.gd"
|
||||
}, {
|
||||
"base": "Leaf",
|
||||
"class": "ConditionLeaf",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/leaves/condition.gd"
|
||||
}, {
|
||||
"base": "BeehaveNode",
|
||||
"class": "Decorator",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/decorators/decorator.gd"
|
||||
}, {
|
||||
"base": "Decorator",
|
||||
"class": "InverterDecorator",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/decorators/inverter.gd"
|
||||
}, {
|
||||
"base": "BeehaveNode",
|
||||
"class": "Leaf",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/leaves/leaf.gd"
|
||||
}, {
|
||||
"base": "Decorator",
|
||||
"class": "LimiterDecorator",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/decorators/limiter.gd"
|
||||
}, {
|
||||
"base": "Composite",
|
||||
"class": "SelectorComposite",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/composites/selector.gd"
|
||||
}, {
|
||||
"base": "Composite",
|
||||
"class": "SelectorStarComposite",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/composites/selector_star.gd"
|
||||
}, {
|
||||
"base": "Composite",
|
||||
"class": "SequenceComposite",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/composites/sequence.gd"
|
||||
}, {
|
||||
"base": "Composite",
|
||||
"class": "SequenceStarComposite",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/beehave/nodes/composites/sequence_star.gd"
|
||||
} ]
|
||||
_global_script_class_icons={
|
||||
"ActionLeaf": "res://addons/beehave/icons/action.svg",
|
||||
"AlwaysFailDecorator": "res://addons/beehave/icons/fail.svg",
|
||||
"AlwaysSucceedDecorator": "res://addons/beehave/icons/succeed.svg",
|
||||
"BeehaveNode": "res://addons/beehave/icons/action.svg",
|
||||
"BeehaveRoot": "res://addons/beehave/icons/tree.svg",
|
||||
"BeehaveTree": "",
|
||||
"Composite": "res://addons/beehave/icons/category_composite.svg",
|
||||
"ConditionLeaf": "res://addons/beehave/icons/condition.svg",
|
||||
"Decorator": "res://addons/beehave/icons/category_decorator.svg",
|
||||
"InverterDecorator": "res://addons/beehave/icons/inverter.svg",
|
||||
"Leaf": "res://addons/beehave/icons/action.svg",
|
||||
"LimiterDecorator": "res://addons/beehave/icons/limiter.svg",
|
||||
"SelectorComposite": "res://addons/beehave/icons/selector.svg",
|
||||
"SelectorStarComposite": "res://addons/beehave/icons/selector_star.svg",
|
||||
"SequenceComposite": "res://addons/beehave/icons/sequencer.svg",
|
||||
"SequenceStarComposite": "res://addons/beehave/icons/sequencer_star.svg"
|
||||
}
|
||||
|
||||
[application]
|
||||
|
||||
config/name="City Limits"
|
||||
|
@ -15,6 +115,8 @@ run/main_scene="res://scenes/Game.tscn"
|
|||
config/icon="res://icon.png"
|
||||
config/macos_native_icon="res://icon.icns"
|
||||
config/windows_native_icon="res://icon.ico"
|
||||
config/version="0.0.1"
|
||||
config/build=1000
|
||||
|
||||
[autoload]
|
||||
|
||||
|
@ -32,7 +134,7 @@ window/stretch/aspect="keep"
|
|||
|
||||
[editor_plugins]
|
||||
|
||||
enabled=PoolStringArray( )
|
||||
enabled=PoolStringArray( "res://addons/beehave/plugin.cfg", "res://addons/godot-version-management/plugin.cfg" )
|
||||
|
||||
[gdnative]
|
||||
|
||||
|
@ -66,8 +168,8 @@ ui_down={
|
|||
}
|
||||
ui_cheats={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":true,"control":false,"meta":true,"command":true,"pressed":false,"scancode":67,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":true,"command":true,"pressed":false,"scancode":88,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":true,"control":true,"meta":true,"command":true,"pressed":false,"scancode":67,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":true,"meta":true,"command":true,"pressed":false,"scancode":88,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene load_steps=8 format=2]
|
||||
|
||||
[ext_resource path="res://scripts/power_station.gd" type="Script" id=1]
|
||||
[ext_resource path="res://scripts/simtactics/turn_on.gd" type="Script" id=1]
|
||||
[ext_resource path="res://assets/coal.png" type="Texture" id=2]
|
||||
[ext_resource path="res://addons/beehave/nodes/composites/sequence.gd" type="Script" id=3]
|
||||
[ext_resource path="res://scripts/simtactics/zone.gd" type="Script" id=4]
|
||||
[ext_resource path="res://addons/beehave/nodes/beehave_root.gd" type="Script" id=6]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 32.2297, 31.8602 )
|
||||
|
@ -26,9 +29,19 @@ tracks/0/keys = {
|
|||
|
||||
[node name="PowerStation" type="KinematicBody2D"]
|
||||
input_pickable = true
|
||||
|
||||
[node name="BeehaveRoot" type="Node" parent="."]
|
||||
script = ExtResource( 6 )
|
||||
|
||||
[node name="SequenceComposite" type="Node" parent="BeehaveRoot"]
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="TurnOn" type="Node" parent="BeehaveRoot/SequenceComposite"]
|
||||
script = ExtResource( 1 )
|
||||
income = 0
|
||||
expense = 250
|
||||
|
||||
[node name="ActionLeaf" type="Node" parent="BeehaveRoot/SequenceComposite"]
|
||||
script = ExtResource( 4 )
|
||||
zone_texture = "res://assets/res_houses.png"
|
||||
|
||||
[node name="Quarters" type="Timer" parent="."]
|
||||
wait_time = 10.0
|
||||
|
@ -44,5 +57,3 @@ playback_speed = 5.0
|
|||
anims/Animante = SubResource( 2 )
|
||||
|
||||
[node name="RayCast2D" type="RayCast2D" parent="."]
|
||||
|
||||
[connection signal="timeout" from="Quarters" to="." method="_on_Quarters_timeout"]
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene load_steps=9 format=2]
|
||||
|
||||
[ext_resource path="res://scripts/zone.gd" type="Script" id=1]
|
||||
[ext_resource path="res://assets/res_zones.png" type="Texture" id=2]
|
||||
[ext_resource path="res://scripts/simtactics/has_power.gd" type="Script" id=4]
|
||||
[ext_resource path="res://addons/beehave/nodes/beehave_root.gd" type="Script" id=5]
|
||||
[ext_resource path="res://addons/beehave/nodes/composites/selector.gd" type="Script" id=7]
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
resource_name = "Animante"
|
||||
length = 5.0
|
||||
step = 1.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("../Sprite:frame")
|
||||
tracks/0/path = NodePath("Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
|
@ -17,7 +20,22 @@ tracks/0/keys = {
|
|||
"times": PoolRealArray( 0, 1, 2, 3, 4 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 1, 2, 3, 4, 6 ]
|
||||
"values": [ 0, 1, 2, 3, 4 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=4]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 1 ]
|
||||
}
|
||||
|
||||
[sub_resource type="CircleShape2D" id=3]
|
||||
|
@ -26,15 +44,26 @@ radius = 34.955
|
|||
[node name="Zone" type="Area2D"]
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Quarters" type="Timer" parent="."]
|
||||
wait_time = 10.0
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
texture = ExtResource( 2 )
|
||||
vframes = 19
|
||||
frame = 1
|
||||
|
||||
[node name="BeehaveRoot" type="Node" parent="."]
|
||||
script = ExtResource( 5 )
|
||||
|
||||
[node name="SelectorComposite" type="Node" parent="BeehaveRoot"]
|
||||
script = ExtResource( 7 )
|
||||
|
||||
[node name="HasPower" type="Node" parent="BeehaveRoot/SelectorComposite"]
|
||||
script = ExtResource( 4 )
|
||||
|
||||
[node name="Quarters" type="Timer" parent="."]
|
||||
wait_time = 10.0
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/Animante = SubResource( 2 )
|
||||
anims/RESET = SubResource( 4 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource( 3 )
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
[gd_scene load_steps=45 format=2]
|
||||
[gd_scene load_steps=50 format=2]
|
||||
|
||||
[ext_resource path="res://scenes/maps/MapOne.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://addons/beehave/nodes/composites/selector.gd" type="Script" id=2]
|
||||
[ext_resource path="res://assets/symbols/fontawesome/population.svg" type="Texture" id=3]
|
||||
[ext_resource path="res://scenes/windows/Advisor.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://assets/ui/iccom.png" type="Texture" id=5]
|
||||
|
@ -44,16 +45,22 @@
|
|||
[ext_resource path="res://assets/symbols/fontawesome/envelope.svg" type="Texture" id=43]
|
||||
[ext_resource path="res://scenes/windows/Ordinance.tscn" type="PackedScene" id=44]
|
||||
[ext_resource path="res://scripts/ticker.gd" type="Script" id=45]
|
||||
[ext_resource path="res://addons/beehave/nodes/beehave_root.gd" type="Script" id=46]
|
||||
[ext_resource path="res://scenes/deparments/CoalPlant.tscn" type="PackedScene" id=47]
|
||||
[ext_resource path="res://addons/beehave/nodes/beehave_node.gd" type="Script" id=48]
|
||||
[ext_resource path="res://scenes/deparments/Zone.tscn" type="PackedScene" id=49]
|
||||
|
||||
[node name="Game" type="Node2D"]
|
||||
script = ExtResource( 20 )
|
||||
|
||||
[node name="DayCycle" type="Timer" parent="."]
|
||||
wait_time = 12.0
|
||||
autostart = true
|
||||
__meta__ = {
|
||||
"_editor_description_": "Calculation based on: https://gaming.stackexchange.com/questions/110529/real-world-time-in-a-simcity-day-on-various-speeds"
|
||||
}
|
||||
[node name="BeehaveRoot" type="Node" parent="."]
|
||||
script = ExtResource( 46 )
|
||||
|
||||
[node name="DayCycle" type="Node" parent="BeehaveRoot"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="BeehaveNode" type="Node" parent="BeehaveRoot/DayCycle"]
|
||||
script = ExtResource( 48 )
|
||||
|
||||
[node name="MapOne" parent="." instance=ExtResource( 1 )]
|
||||
|
||||
|
@ -286,6 +293,16 @@ __meta__ = {
|
|||
"_edit_use_anchors_": true
|
||||
}
|
||||
|
||||
[node name="VersionLbl" type="Label" parent="Controls/Control Panel/Windows"]
|
||||
anchor_left = 0.0146199
|
||||
anchor_top = 0.0271318
|
||||
anchor_right = 0.182261
|
||||
anchor_bottom = 0.0542636
|
||||
text = "Version"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": true
|
||||
}
|
||||
|
||||
[node name="Status" type="Panel" parent="Controls/Control Panel"]
|
||||
anchor_top = 12.95
|
||||
anchor_right = 25.65
|
||||
|
@ -294,10 +311,6 @@ __meta__ = {
|
|||
"_edit_use_anchors_": true
|
||||
}
|
||||
|
||||
[node name="RotateNews" type="Timer" parent="Controls/Control Panel/Status"]
|
||||
wait_time = 5.0
|
||||
autostart = true
|
||||
|
||||
[node name="SettingsBtn" type="Button" parent="Controls/Control Panel/Status"]
|
||||
anchor_left = 0.0115391
|
||||
anchor_top = 0.0555202
|
||||
|
@ -466,6 +479,8 @@ __meta__ = {
|
|||
"_edit_use_anchors_": true
|
||||
}
|
||||
|
||||
[connection signal="timeout" from="DayCycle" to="." method="_on_DayCycle_timeout"]
|
||||
[connection signal="timeout" from="Controls/Control Panel/Status/RotateNews" to="Controls/Control Panel" method="_on_RotateNews_timeout"]
|
||||
[connection signal="pressed" from="Controls/Control Panel/Status/NewsBtn" to="Controls/Control Panel" method="_on_NewsBtn_pressed"]
|
||||
[node name="Zone" parent="." instance=ExtResource( 49 )]
|
||||
position = Vector2( 650, 351 )
|
||||
|
||||
[node name="PowerStation" parent="." instance=ExtResource( 47 )]
|
||||
position = Vector2( 758, 277 )
|
||||
|
|
|
@ -1,12 +1,5 @@
|
|||
extends Area2D
|
||||
|
||||
signal grabbed
|
||||
signal has_power
|
||||
|
||||
export var cost: int = 10000
|
||||
export var income: int = 100
|
||||
export var expense: int = 0
|
||||
|
||||
onready var zone = $Sprite
|
||||
onready var quarters = $Quarters
|
||||
onready var animator = $AnimationPlayer
|
||||
|
@ -15,48 +8,32 @@ var can_grab = false
|
|||
var grabbed_offset = Vector2()
|
||||
|
||||
func _ready():
|
||||
SimEvents.connect("budget", self, "_get_budget")
|
||||
connect("grabbed", self, "_grab_zone")
|
||||
zone.frame = 0
|
||||
|
||||
#func _drag_drop(event):
|
||||
# if event is InputEventMouseButton and can_grab:
|
||||
# # Substract from the player's budget and disable grabbing
|
||||
# if SimData.budget >= cost:
|
||||
# SimData.budget -= cost
|
||||
# can_grab = false
|
||||
# grabbed_offset = position - get_global_mouse_position()
|
||||
|
||||
func _drag_drop(event):
|
||||
if event is InputEventMouseButton and can_grab:
|
||||
# Substract from the player's budget and disable grabbing
|
||||
if SimData.budget >= cost:
|
||||
SimData.budget -= cost
|
||||
can_grab = false
|
||||
grabbed_offset = position - get_global_mouse_position()
|
||||
|
||||
func _input(event):
|
||||
_drag_drop(event)
|
||||
#func _input(event):
|
||||
# _drag_drop(event)
|
||||
|
||||
func _process(delta):
|
||||
if can_grab:
|
||||
position = get_global_mouse_position() + grabbed_offset
|
||||
|
||||
func _animante_sprite(animante: bool = true):
|
||||
if zone.hframes > 1 or zone.vframes > 1 and animante:
|
||||
if SimData.has_power == true:
|
||||
animator.play("Animante")
|
||||
else:
|
||||
animator.stop()
|
||||
# if can_grab:
|
||||
# position = get_global_mouse_position() + grabbed_offset
|
||||
|
||||
#func _animante_sprite(animante: bool = true):
|
||||
# if zone.hframes > 1 or zone.vframes > 1 and animante:
|
||||
# animator.play("Animante")
|
||||
# else:
|
||||
# animator.stop()
|
||||
|
||||
func _grab_zone():
|
||||
can_grab = true
|
||||
|
||||
func _get_budget():
|
||||
if SimData.budget >= expense and SimData.has_power:
|
||||
SimData.budget -= expense
|
||||
SimData.expenses = expense
|
||||
|
||||
if SimData.has_power:
|
||||
var total_income = SimData.res_tax * income
|
||||
SimData.budget += total_income
|
||||
SimData.res_income = total_income
|
||||
|
||||
func _on_Zone_body_entered(body: Node):
|
||||
if SimData.has_power and can_grab == false:
|
||||
quarters.start()
|
||||
_animante_sprite()
|
||||
|
||||
func _on_Zone_body_exited(body: Node):
|
||||
quarters.stop()
|
||||
_animante_sprite(false)
|
||||
#func _grab_zone():
|
||||
# can_grab = true
|
||||
|
|
|
@ -17,6 +17,9 @@ var current_power_cap: int
|
|||
var prev_power_cap: int
|
||||
var has_power: bool
|
||||
|
||||
var res_tax: int = 5
|
||||
var res_income: int
|
||||
|
||||
var ticker_files: Array = [
|
||||
"adverts.json",
|
||||
"sammy.json"
|
||||
|
|
20
scripts/simtactics/has_power.gd
Normal file
|
@ -0,0 +1,20 @@
|
|||
extends ConditionLeaf
|
||||
|
||||
export var cost: int = 10000
|
||||
export var income: int = 100
|
||||
export var expense: int = 0
|
||||
|
||||
func tick(actor, blackboard):
|
||||
if SimData.has_power:
|
||||
if SimData.budget >= expense:
|
||||
SimData.budget -= expense
|
||||
SimData.expenses = expense
|
||||
|
||||
if SimData.has_power:
|
||||
var total_income = SimData.res_tax * income
|
||||
SimData.budget += total_income
|
||||
SimData.res_income = total_income
|
||||
|
||||
return SUCCESS
|
||||
|
||||
return FAILURE
|
5
scripts/simtactics/turn_on.gd
Normal file
|
@ -0,0 +1,5 @@
|
|||
extends ConditionLeaf
|
||||
|
||||
func tick(actor, blackboard):
|
||||
SimData.has_power = true
|
||||
return RUNNING
|
18
scripts/simtactics/zone.gd
Normal file
|
@ -0,0 +1,18 @@
|
|||
extends ConditionLeaf
|
||||
|
||||
export var cost: int = 10000
|
||||
export var income: int = 100
|
||||
export var expense: int = 0
|
||||
|
||||
func tick(actor, blackboard):
|
||||
if SimData.has_power:
|
||||
if SimData.budget >= expense:
|
||||
SimData.budget -= expense
|
||||
SimData.expenses = expense
|
||||
|
||||
if SimData.has_power:
|
||||
var total_income = SimData.res_tax * income
|
||||
SimData.budget += total_income
|
||||
SimData.res_income = total_income
|
||||
|
||||
return RUNNING
|
|
@ -1,42 +1,42 @@
|
|||
extends Control
|
||||
|
||||
const TICKER_PATH = "res://json/ticker/"
|
||||
const FNN_LOGO = "res://assets/ticker/fnn.png"
|
||||
const CONFIG_FILE = "config.json"
|
||||
|
||||
onready var ticker_text = $Status/NewsBtn
|
||||
onready var ticker_box = $Windows/NewsWindow/News
|
||||
onready var ticker_window = $Windows/NewsWindow
|
||||
|
||||
var news_file: String = ""
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var all_news: Array = []
|
||||
var speices: Array = [
|
||||
"Cat",
|
||||
"Fennec",
|
||||
"Fox"
|
||||
]
|
||||
|
||||
var json_files: Array = []
|
||||
|
||||
func _load_json():
|
||||
var file = File.new()
|
||||
if file.file_exists(news_file):
|
||||
file.open(news_file, file.READ)
|
||||
var result = parse_json(file.get_as_text())
|
||||
return result
|
||||
|
||||
func _index_news():
|
||||
var news = _load_json()
|
||||
all_news.clear()
|
||||
all_news = news["ticker"]
|
||||
randomize()
|
||||
all_news.shuffle()
|
||||
|
||||
func _ready():
|
||||
ticker_window.window_title = JsonHelper.key_value(TICKER_PATH, CONFIG_FILE, "outlet")
|
||||
|
||||
_randomize_news(json_files)
|
||||
#const TICKER_PATH = "res://json/ticker/"
|
||||
#const FNN_LOGO = "res://assets/ticker/fnn.png"
|
||||
#const CONFIG_FILE = "config.json"
|
||||
#
|
||||
#onready var ticker_text = $Status/NewsBtn
|
||||
#onready var ticker_box = $Windows/NewsWindow/News
|
||||
#onready var ticker_window = $Windows/NewsWindow
|
||||
#
|
||||
#var news_file: String = ""
|
||||
#var rng = RandomNumberGenerator.new()
|
||||
#var all_news: Array = []
|
||||
#var speices: Array = [
|
||||
# "Cat",
|
||||
# "Fennec",
|
||||
# "Fox"
|
||||
#]
|
||||
#
|
||||
#var json_files: Array = []
|
||||
#
|
||||
#func _load_json():
|
||||
# var file = File.new()
|
||||
# if file.file_exists(news_file):
|
||||
# file.open(news_file, file.READ)
|
||||
# var result = parse_json(file.get_as_text())
|
||||
# return result
|
||||
#
|
||||
#func _index_news():
|
||||
# var news = _load_json()
|
||||
# all_news.clear()
|
||||
# all_news = news["ticker"]
|
||||
# randomize()
|
||||
# all_news.shuffle()
|
||||
#
|
||||
#func _ready():
|
||||
# ticker_window.window_title = JsonHelper.key_value(TICKER_PATH, CONFIG_FILE, "outlet")
|
||||
#
|
||||
# _randomize_news(json_files)
|
||||
|
||||
#func _process(delta):
|
||||
# var prev_json_Files = json_files
|
||||
|
@ -60,73 +60,64 @@ func _ready():
|
|||
# for files in city_life:
|
||||
# json_files.append(files)
|
||||
|
||||
func _array_check(list1, list2):
|
||||
for item in list1:
|
||||
if item in list2:
|
||||
return true
|
||||
|
||||
return false
|
||||
|
||||
func _start_alert(message):
|
||||
# if ticker_text.items.size() > 1:
|
||||
# ticker_text.clear()
|
||||
#func _array_check(list1, list2):
|
||||
# for item in list1:
|
||||
# if item in list2:
|
||||
# return true
|
||||
#
|
||||
# return false
|
||||
#
|
||||
#func _start_alert(message):
|
||||
## if ticker_text.items.size() > 1:
|
||||
## ticker_text.clear()
|
||||
##
|
||||
## SimData.on_alert = true
|
||||
## news_file = str(TICKER_PATH + "ticker_alerts.json")
|
||||
## ticker_text.add_item(all_news)
|
||||
#
|
||||
# pass
|
||||
#
|
||||
#func _randomize_news(files: Array):
|
||||
# if all_news == null:
|
||||
# json_files = JsonHelper.key_value(TICKER_PATH, CONFIG_FILE, "ticker_files")
|
||||
#
|
||||
# for file in files:
|
||||
# news_file = str(TICKER_PATH + file)
|
||||
# _load_json()
|
||||
# _index_news()
|
||||
#
|
||||
# rng.randomize()
|
||||
# randomize()
|
||||
# files.shuffle()
|
||||
#
|
||||
# var news_range = rng.randi_range(0, all_news.size() - 1)
|
||||
# var news_text: String = all_news[news_range]
|
||||
#
|
||||
# if "[competing_outlet]" in news_text:
|
||||
# news_text = news_text.replace("[competing_outlet]", JsonHelper.key_value(TICKER_PATH, CONFIG_FILE, "competing_outlet"))
|
||||
#
|
||||
# if "[outlet]" in news_text:
|
||||
# news_text = news_text.replace("[outlet]", JsonHelper.key_value(TICKER_PATH, CONFIG_FILE, "outlet"))
|
||||
#
|
||||
# if "[species]" in news_text:
|
||||
# speices.shuffle()
|
||||
# var speices_range = rng.randi_range(speices.size() - 1)
|
||||
# news_text = news_text.replace("[species]", speices[speices_range])
|
||||
#
|
||||
# if "[city]" in news_text:
|
||||
# news_text = news_text.replace("[city]", SimData.city_name)
|
||||
#
|
||||
# if "[mayor]" in news_text:
|
||||
# news_text = news_text.replace("[mayor]", SimData.mayor_name)
|
||||
#
|
||||
# # Prevent stack overflaw
|
||||
# if ticker_box.items.size() > 10:
|
||||
# ticker_box.clear()
|
||||
#
|
||||
# _randomize_news(json_files)
|
||||
# _add_news(news_text)
|
||||
#
|
||||
#func _add_news(news_item):
|
||||
# ticker_text.text = news_item
|
||||
# ticker_box.add_item(news_item)
|
||||
#
|
||||
# SimData.on_alert = true
|
||||
# news_file = str(TICKER_PATH + "ticker_alerts.json")
|
||||
# ticker_text.add_item(all_news)
|
||||
|
||||
pass
|
||||
|
||||
func _randomize_news(files: Array):
|
||||
if all_news == null:
|
||||
json_files = JsonHelper.key_value(TICKER_PATH, CONFIG_FILE, "ticker_files")
|
||||
|
||||
for file in files:
|
||||
news_file = str(TICKER_PATH + file)
|
||||
_load_json()
|
||||
_index_news()
|
||||
|
||||
rng.randomize()
|
||||
randomize()
|
||||
files.shuffle()
|
||||
|
||||
var news_range = rng.randi_range(0, all_news.size() - 1)
|
||||
var news_text: String = all_news[news_range]
|
||||
|
||||
if "[competing_outlet]" in news_text:
|
||||
news_text = news_text.replace("[competing_outlet]", JsonHelper.key_value(TICKER_PATH, CONFIG_FILE, "competing_outlet"))
|
||||
|
||||
if "[outlet]" in news_text:
|
||||
news_text = news_text.replace("[outlet]", JsonHelper.key_value(TICKER_PATH, CONFIG_FILE, "outlet"))
|
||||
|
||||
if "[species]" in news_text:
|
||||
speices.shuffle()
|
||||
var speices_range = rng.randi_range(speices.size() - 1)
|
||||
news_text = news_text.replace("[species]", speices[speices_range])
|
||||
|
||||
if "[city]" in news_text:
|
||||
news_text = news_text.replace("[city]", SimData.city_name)
|
||||
|
||||
if "[mayor]" in news_text:
|
||||
news_text = news_text.replace("[mayor]", SimData.mayor_name)
|
||||
|
||||
# Prevent stack overflaw
|
||||
if ticker_box.items.size() > 10:
|
||||
ticker_box.clear()
|
||||
|
||||
_randomize_news(json_files)
|
||||
_add_news(news_text)
|
||||
|
||||
func _add_news(news_item):
|
||||
ticker_text.text = news_item
|
||||
ticker_box.add_item(news_item)
|
||||
|
||||
func _on_NewsBtn_pressed():
|
||||
ticker_window.show()
|
||||
|
||||
func _on_RotateNews_timeout():
|
||||
rng.randomize()
|
||||
randomize()
|
||||
all_news.shuffle()
|
||||
json_files.shuffle()
|
||||
_randomize_news(json_files)
|
||||
|
|
|
@ -5,7 +5,16 @@ onready var tax_window = $TaxWindow
|
|||
onready var advsior_meet_window = $AdvisorMeet
|
||||
onready var tools_window = $ToolsWindow
|
||||
|
||||
onready var verLabel = $VersionLbl
|
||||
|
||||
func _ready():
|
||||
# To get version string
|
||||
var version = ProjectSettings.get_setting("application/config/version")
|
||||
# To get build number
|
||||
var build = ProjectSettings.get_setting("application/config/build")
|
||||
|
||||
verLabel.text = version + " (Build " + str(build) + ")"
|
||||
|
||||
SimData.city_name = SimData.city_name.capitalize()
|
||||
SimData.mayor_name = SimData.mayor_name.capitalize()
|
||||
|
||||
|
|