mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-09 01:09:40 +08:00
moving functionality to efro and bacommon modules
This commit is contained in:
parent
1a56dde622
commit
5180f3b563
1
.idea/ballisticacore.iml
generated
1
.idea/ballisticacore.iml
generated
@ -34,6 +34,7 @@
|
|||||||
<excludeFolder url="file://$MODULE_DIR$/src/generated" />
|
<excludeFolder url="file://$MODULE_DIR$/src/generated" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/src/tools" />
|
<excludeFolder url="file://$MODULE_DIR$/src/tools" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/submodules" />
|
<excludeFolder url="file://$MODULE_DIR$/submodules" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/tools/efro" />
|
||||||
<excludePattern pattern=".assetcache" />
|
<excludePattern pattern=".assetcache" />
|
||||||
<excludePattern pattern=".cache*" />
|
<excludePattern pattern=".cache*" />
|
||||||
<excludePattern pattern=".clang-format" />
|
<excludePattern pattern=".clang-format" />
|
||||||
|
|||||||
5
.idea/dictionaries/ericf.xml
generated
5
.idea/dictionaries/ericf.xml
generated
@ -125,6 +125,7 @@
|
|||||||
<w>backgrounding</w>
|
<w>backgrounding</w>
|
||||||
<w>bacloud</w>
|
<w>bacloud</w>
|
||||||
<w>bacloudcmd</w>
|
<w>bacloudcmd</w>
|
||||||
|
<w>bacommon</w>
|
||||||
<w>badguy</w>
|
<w>badguy</w>
|
||||||
<w>bafoundation</w>
|
<w>bafoundation</w>
|
||||||
<w>ballistica</w>
|
<w>ballistica</w>
|
||||||
@ -325,6 +326,7 @@
|
|||||||
<w>coords</w>
|
<w>coords</w>
|
||||||
<w>copyreg</w>
|
<w>copyreg</w>
|
||||||
<w>copyrightline</w>
|
<w>copyrightline</w>
|
||||||
|
<w>copyrule</w>
|
||||||
<w>cornerpin</w>
|
<w>cornerpin</w>
|
||||||
<w>coroutines</w>
|
<w>coroutines</w>
|
||||||
<w>countdownsounds</w>
|
<w>countdownsounds</w>
|
||||||
@ -342,6 +344,7 @@
|
|||||||
<w>csum</w>
|
<w>csum</w>
|
||||||
<w>ctest</w>
|
<w>ctest</w>
|
||||||
<w>ctex</w>
|
<w>ctex</w>
|
||||||
|
<w>ctuple</w>
|
||||||
<w>ctype</w>
|
<w>ctype</w>
|
||||||
<w>curdir</w>
|
<w>curdir</w>
|
||||||
<w>curhash</w>
|
<w>curhash</w>
|
||||||
@ -718,6 +721,7 @@
|
|||||||
<w>goles</w>
|
<w>goles</w>
|
||||||
<w>goodlist</w>
|
<w>goodlist</w>
|
||||||
<w>googlevr</w>
|
<w>googlevr</w>
|
||||||
|
<w>goosey</w>
|
||||||
<w>gotresponse</w>
|
<w>gotresponse</w>
|
||||||
<w>gpio</w>
|
<w>gpio</w>
|
||||||
<w>gprev</w>
|
<w>gprev</w>
|
||||||
@ -950,6 +954,7 @@
|
|||||||
<w>logitech</w>
|
<w>logitech</w>
|
||||||
<w>logput</w>
|
<w>logput</w>
|
||||||
<w>loofa</w>
|
<w>loofa</w>
|
||||||
|
<w>loosey</w>
|
||||||
<w>losecount</w>
|
<w>losecount</w>
|
||||||
<w>lpos</w>
|
<w>lpos</w>
|
||||||
<w>lprop</w>
|
<w>lprop</w>
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
### 1.5.0 (20001)
|
### 1.5.0 (20001)
|
||||||
- Ported the entire scripting layer from Python 2 to to Python 3 (currently 3.5 to 3.7 depending on platform). There's some significant changes going from python 2 to 3 (new print statement, string behavior, etc), but these are well documented online, so please read up as needed. This should provide us some nice benefits and future-proofs everything. (my janky 2.7 custom Python builds were getting a little long in the tooth)
|
- Ported the entire scripting layer from Python 2 to to Python 3 (currently 3.5 to 3.7 depending on platform). There's some significant changes going from python 2 to 3 (new print statement, string behavior, etc), but these are well documented online, so please read up as needed. This should provide us some nice benefits and future-proofs everything. (my janky 2.7 custom Python builds were getting a little long in the tooth)..
|
||||||
- Refactored all script code to be PEP8 compliant (python coding standards). Basically, this means that stuff that was camel-case (fooBar) is now a single word or underscores (foobar / foo_bar). There are a few minor exceptions such as existing resource and media filenames, but in general old code can be ported by taking a pass through and killing the camel-case. I know this is a bit of a pain in the ass, but it'll let us use things like pylint and just be more consistent with the rest of the Python world.
|
- Refactored all script code to be PEP8 compliant (python coding standards). Basically, this means that stuff that was camel-case (fooBar) is now a single word or underscores (foobar / foo_bar). There are a few minor exceptions such as existing resource and media filenames, but in general old code can be ported by taking a pass through and killing the camel-case. I know this is a bit of a pain in the ass, but it'll let us use things like pylint and just be more consistent with the rest of the Python world.
|
||||||
- On a related note, I'm now using 'yapf' to keep my Python code formatted nicely (using pep8 style); I'd recommend checking it out if you're doing a lot of scripting as its a great time-saver.
|
- On a related note, I'm now using 'yapf' to keep my Python code formatted nicely (using pep8 style); I'd recommend checking it out if you're doing a lot of scripting as its a great time-saver.
|
||||||
- On another related note, I'm trying to confirm to Google's recommendations for Python code (search 'Google Python Style Guide'). There are some good bits of wisdom in there so I recommend at least skimming through it.
|
- On another related note, I'm trying to confirm to Google's recommendations for Python code (search 'Google Python Style Guide'). There are some good bits of wisdom in there so I recommend at least skimming through it.
|
||||||
|
|||||||
@ -99,34 +99,12 @@
|
|||||||
"data/scripts/ba/internal.py",
|
"data/scripts/ba/internal.py",
|
||||||
"data/scripts/ba/ui/__init__.py",
|
"data/scripts/ba/ui/__init__.py",
|
||||||
"data/scripts/ba/ui/__pycache__/__init__.cpython-37.opt-1.pyc",
|
"data/scripts/ba/ui/__pycache__/__init__.cpython-37.opt-1.pyc",
|
||||||
"data/scripts/bafoundation/__init__.py",
|
"data/scripts/bacommon/__init__.py",
|
||||||
"data/scripts/bafoundation/__pycache__/__init__.cpython-37.opt-1.pyc",
|
"data/scripts/bacommon/__pycache__/__init__.cpython-37.opt-1.pyc",
|
||||||
"data/scripts/bafoundation/__pycache__/assets.cpython-37.opt-1.pyc",
|
"data/scripts/bacommon/__pycache__/assets.cpython-37.opt-1.pyc",
|
||||||
"data/scripts/bafoundation/__pycache__/dataclassutils.cpython-37.opt-1.pyc",
|
"data/scripts/bacommon/__pycache__/err.cpython-37.opt-1.pyc",
|
||||||
"data/scripts/bafoundation/__pycache__/err.cpython-37.opt-1.pyc",
|
"data/scripts/bacommon/assets.py",
|
||||||
"data/scripts/bafoundation/__pycache__/executils.cpython-37.opt-1.pyc",
|
"data/scripts/bacommon/err.py",
|
||||||
"data/scripts/bafoundation/__pycache__/jsonutils.cpython-37.opt-1.pyc",
|
|
||||||
"data/scripts/bafoundation/__pycache__/util.cpython-37.opt-1.pyc",
|
|
||||||
"data/scripts/bafoundation/assets.py",
|
|
||||||
"data/scripts/bafoundation/dataclassutils.py",
|
|
||||||
"data/scripts/bafoundation/entity/__init__.py",
|
|
||||||
"data/scripts/bafoundation/entity/__pycache__/__init__.cpython-37.opt-1.pyc",
|
|
||||||
"data/scripts/bafoundation/entity/__pycache__/_base.cpython-37.opt-1.pyc",
|
|
||||||
"data/scripts/bafoundation/entity/__pycache__/_entity.cpython-37.opt-1.pyc",
|
|
||||||
"data/scripts/bafoundation/entity/__pycache__/_field.cpython-37.opt-1.pyc",
|
|
||||||
"data/scripts/bafoundation/entity/__pycache__/_support.cpython-37.opt-1.pyc",
|
|
||||||
"data/scripts/bafoundation/entity/__pycache__/_value.cpython-37.opt-1.pyc",
|
|
||||||
"data/scripts/bafoundation/entity/__pycache__/util.cpython-37.opt-1.pyc",
|
|
||||||
"data/scripts/bafoundation/entity/_base.py",
|
|
||||||
"data/scripts/bafoundation/entity/_entity.py",
|
|
||||||
"data/scripts/bafoundation/entity/_field.py",
|
|
||||||
"data/scripts/bafoundation/entity/_support.py",
|
|
||||||
"data/scripts/bafoundation/entity/_value.py",
|
|
||||||
"data/scripts/bafoundation/entity/util.py",
|
|
||||||
"data/scripts/bafoundation/err.py",
|
|
||||||
"data/scripts/bafoundation/executils.py",
|
|
||||||
"data/scripts/bafoundation/jsonutils.py",
|
|
||||||
"data/scripts/bafoundation/util.py",
|
|
||||||
"data/scripts/bastd/__init__.py",
|
"data/scripts/bastd/__init__.py",
|
||||||
"data/scripts/bastd/__pycache__/__init__.cpython-37.opt-1.pyc",
|
"data/scripts/bastd/__pycache__/__init__.cpython-37.opt-1.pyc",
|
||||||
"data/scripts/bastd/__pycache__/appdelegate.cpython-37.opt-1.pyc",
|
"data/scripts/bastd/__pycache__/appdelegate.cpython-37.opt-1.pyc",
|
||||||
@ -463,6 +441,28 @@
|
|||||||
"data/scripts/bastd/ui/trophies.py",
|
"data/scripts/bastd/ui/trophies.py",
|
||||||
"data/scripts/bastd/ui/url.py",
|
"data/scripts/bastd/ui/url.py",
|
||||||
"data/scripts/bastd/ui/watch.py",
|
"data/scripts/bastd/ui/watch.py",
|
||||||
|
"data/scripts/efro/__init__.py",
|
||||||
|
"data/scripts/efro/__pycache__/__init__.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/__pycache__/executils.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/__pycache__/jsonutils.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/__pycache__/util.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/entity/__init__.py",
|
||||||
|
"data/scripts/efro/entity/__pycache__/__init__.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/entity/__pycache__/_base.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/entity/__pycache__/_entity.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/entity/__pycache__/_field.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/entity/__pycache__/_support.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/entity/__pycache__/_value.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/entity/__pycache__/util.cpython-37.opt-1.pyc",
|
||||||
|
"data/scripts/efro/entity/_base.py",
|
||||||
|
"data/scripts/efro/entity/_entity.py",
|
||||||
|
"data/scripts/efro/entity/_field.py",
|
||||||
|
"data/scripts/efro/entity/_support.py",
|
||||||
|
"data/scripts/efro/entity/_value.py",
|
||||||
|
"data/scripts/efro/entity/util.py",
|
||||||
|
"data/scripts/efro/executils.py",
|
||||||
|
"data/scripts/efro/jsonutils.py",
|
||||||
|
"data/scripts/efro/util.py",
|
||||||
"server/__pycache__/config.cpython-37.opt-1.pyc",
|
"server/__pycache__/config.cpython-37.opt-1.pyc",
|
||||||
"server/__pycache__/server.cpython-37.opt-1.pyc",
|
"server/__pycache__/server.cpython-37.opt-1.pyc",
|
||||||
"server/config.py",
|
"server/config.py",
|
||||||
|
|||||||
124
assets/Makefile
124
assets/Makefile
@ -144,20 +144,20 @@ ASSET_TARGETS_WIN_X64 += $(EXTRAS_TARGETS_WIN_X64)
|
|||||||
SCRIPT_TARGETS_PY_1 = \
|
SCRIPT_TARGETS_PY_1 = \
|
||||||
build/server/server.py \
|
build/server/server.py \
|
||||||
build/server/config.py \
|
build/server/config.py \
|
||||||
build/data/scripts/bafoundation/executils.py \
|
build/data/scripts/efro/executils.py \
|
||||||
build/data/scripts/bafoundation/dataclassutils.py \
|
build/data/scripts/efro/util.py \
|
||||||
build/data/scripts/bafoundation/util.py \
|
build/data/scripts/efro/__init__.py \
|
||||||
build/data/scripts/bafoundation/__init__.py \
|
build/data/scripts/efro/jsonutils.py \
|
||||||
build/data/scripts/bafoundation/assets.py \
|
build/data/scripts/efro/entity/_base.py \
|
||||||
build/data/scripts/bafoundation/jsonutils.py \
|
build/data/scripts/efro/entity/_support.py \
|
||||||
build/data/scripts/bafoundation/err.py \
|
build/data/scripts/efro/entity/util.py \
|
||||||
build/data/scripts/bafoundation/entity/_base.py \
|
build/data/scripts/efro/entity/_entity.py \
|
||||||
build/data/scripts/bafoundation/entity/_support.py \
|
build/data/scripts/efro/entity/_field.py \
|
||||||
build/data/scripts/bafoundation/entity/util.py \
|
build/data/scripts/efro/entity/__init__.py \
|
||||||
build/data/scripts/bafoundation/entity/_entity.py \
|
build/data/scripts/efro/entity/_value.py \
|
||||||
build/data/scripts/bafoundation/entity/_field.py \
|
build/data/scripts/bacommon/__init__.py \
|
||||||
build/data/scripts/bafoundation/entity/__init__.py \
|
build/data/scripts/bacommon/assets.py \
|
||||||
build/data/scripts/bafoundation/entity/_value.py \
|
build/data/scripts/bacommon/err.py \
|
||||||
build/data/scripts/ba/_gameactivity.py \
|
build/data/scripts/ba/_gameactivity.py \
|
||||||
build/data/scripts/ba/_apputils.py \
|
build/data/scripts/ba/_apputils.py \
|
||||||
build/data/scripts/ba/_coopsession.py \
|
build/data/scripts/ba/_coopsession.py \
|
||||||
@ -380,20 +380,20 @@ SCRIPT_TARGETS_PY_1 = \
|
|||||||
SCRIPT_TARGETS_PYC_1 = \
|
SCRIPT_TARGETS_PYC_1 = \
|
||||||
build/server/__pycache__/server.cpython-37.opt-1.pyc \
|
build/server/__pycache__/server.cpython-37.opt-1.pyc \
|
||||||
build/server/__pycache__/config.cpython-37.opt-1.pyc \
|
build/server/__pycache__/config.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/__pycache__/executils.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/__pycache__/executils.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/__pycache__/dataclassutils.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/__pycache__/util.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/__pycache__/util.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/__pycache__/__init__.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/__pycache__/__init__.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/__pycache__/jsonutils.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/__pycache__/assets.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/entity/__pycache__/_base.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/__pycache__/jsonutils.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/entity/__pycache__/_support.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/__pycache__/err.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/entity/__pycache__/util.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_base.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/entity/__pycache__/_entity.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_support.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/entity/__pycache__/_field.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/util.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/entity/__pycache__/__init__.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_entity.cpython-37.opt-1.pyc \
|
build/data/scripts/efro/entity/__pycache__/_value.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_field.cpython-37.opt-1.pyc \
|
build/data/scripts/bacommon/__pycache__/__init__.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/__init__.cpython-37.opt-1.pyc \
|
build/data/scripts/bacommon/__pycache__/assets.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_value.cpython-37.opt-1.pyc \
|
build/data/scripts/bacommon/__pycache__/err.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/ba/__pycache__/_gameactivity.cpython-37.opt-1.pyc \
|
build/data/scripts/ba/__pycache__/_gameactivity.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/ba/__pycache__/_apputils.cpython-37.opt-1.pyc \
|
build/data/scripts/ba/__pycache__/_apputils.cpython-37.opt-1.pyc \
|
||||||
build/data/scripts/ba/__pycache__/_coopsession.cpython-37.opt-1.pyc \
|
build/data/scripts/ba/__pycache__/_coopsession.cpython-37.opt-1.pyc \
|
||||||
@ -624,7 +624,7 @@ $(SCRIPT_TARGETS_PY_1) : build/%.py : src/%.py
|
|||||||
|
|
||||||
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
||||||
# just generating explicit targets for each. Could perhaps look into using a
|
# just generating explicit targets for each. Could perhaps look into using a
|
||||||
# fancy for-loop instead.
|
# fancy for-loop instead, but perhaps listing these explicitly isn't so bad.
|
||||||
|
|
||||||
build/server/__pycache__/server.cpython-37.opt-1.pyc: \
|
build/server/__pycache__/server.cpython-37.opt-1.pyc: \
|
||||||
build/server/server.py
|
build/server/server.py
|
||||||
@ -636,73 +636,73 @@ build/server/__pycache__/config.cpython-37.opt-1.pyc: \
|
|||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/__pycache__/executils.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/__pycache__/executils.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/executils.py
|
build/data/scripts/efro/executils.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/__pycache__/dataclassutils.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/__pycache__/util.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/dataclassutils.py
|
build/data/scripts/efro/util.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/__pycache__/util.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/__pycache__/__init__.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/util.py
|
build/data/scripts/efro/__init__.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/__pycache__/__init__.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/__pycache__/jsonutils.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/__init__.py
|
build/data/scripts/efro/jsonutils.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/__pycache__/assets.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/entity/__pycache__/_base.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/assets.py
|
build/data/scripts/efro/entity/_base.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/__pycache__/jsonutils.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/entity/__pycache__/_support.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/jsonutils.py
|
build/data/scripts/efro/entity/_support.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/__pycache__/err.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/entity/__pycache__/util.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/err.py
|
build/data/scripts/efro/entity/util.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_base.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/entity/__pycache__/_entity.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/entity/_base.py
|
build/data/scripts/efro/entity/_entity.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_support.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/entity/__pycache__/_field.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/entity/_support.py
|
build/data/scripts/efro/entity/_field.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/util.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/entity/__pycache__/__init__.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/entity/util.py
|
build/data/scripts/efro/entity/__init__.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_entity.cpython-37.opt-1.pyc: \
|
build/data/scripts/efro/entity/__pycache__/_value.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/entity/_entity.py
|
build/data/scripts/efro/entity/_value.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_field.cpython-37.opt-1.pyc: \
|
build/data/scripts/bacommon/__pycache__/__init__.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/entity/_field.py
|
build/data/scripts/bacommon/__init__.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/__init__.cpython-37.opt-1.pyc: \
|
build/data/scripts/bacommon/__pycache__/assets.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/entity/__init__.py
|
build/data/scripts/bacommon/assets.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
build/data/scripts/bafoundation/entity/__pycache__/_value.cpython-37.opt-1.pyc: \
|
build/data/scripts/bacommon/__pycache__/err.cpython-37.opt-1.pyc: \
|
||||||
build/data/scripts/bafoundation/entity/_value.py
|
build/data/scripts/bacommon/err.py
|
||||||
@echo Compiling script: $^
|
@echo Compiling script: $^
|
||||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||||
|
|
||||||
@ -2665,7 +2665,7 @@ $(SCRIPT_TARGETS_PY_2_APPLE) : ../.efrocachemap
|
|||||||
|
|
||||||
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
||||||
# just generating explicit targets for each. Could perhaps look into using a
|
# just generating explicit targets for each. Could perhaps look into using a
|
||||||
# fancy for-loop instead.
|
# fancy for-loop instead, but perhaps listing these explicitly isn't so bad.
|
||||||
|
|
||||||
build/pylib-apple/__pycache__/zipfile.cpython-37.opt-1.pyc: \
|
build/pylib-apple/__pycache__/zipfile.cpython-37.opt-1.pyc: \
|
||||||
build/pylib-apple/zipfile.py
|
build/pylib-apple/zipfile.py
|
||||||
@ -5668,7 +5668,7 @@ $(SCRIPT_TARGETS_PY_2_ANDROID) : ../.efrocachemap
|
|||||||
|
|
||||||
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
||||||
# just generating explicit targets for each. Could perhaps look into using a
|
# just generating explicit targets for each. Could perhaps look into using a
|
||||||
# fancy for-loop instead.
|
# fancy for-loop instead, but perhaps listing these explicitly isn't so bad.
|
||||||
|
|
||||||
build/pylib-android/__pycache__/zipfile.cpython-37.opt-1.pyc: \
|
build/pylib-android/__pycache__/zipfile.cpython-37.opt-1.pyc: \
|
||||||
build/pylib-android/zipfile.py
|
build/pylib-android/zipfile.py
|
||||||
@ -7819,7 +7819,7 @@ $(SCRIPT_TARGETS_PY_2_COMMON) : ../.efrocachemap
|
|||||||
|
|
||||||
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
||||||
# just generating explicit targets for each. Could perhaps look into using a
|
# just generating explicit targets for each. Could perhaps look into using a
|
||||||
# fancy for-loop instead.
|
# fancy for-loop instead, but perhaps listing these explicitly isn't so bad.
|
||||||
|
|
||||||
build/pylib-site-packages/__pycache__/typing_extensions.cpython-37.opt-1.pyc: \
|
build/pylib-site-packages/__pycache__/typing_extensions.cpython-37.opt-1.pyc: \
|
||||||
build/pylib-site-packages/typing_extensions.py
|
build/pylib-site-packages/typing_extensions.py
|
||||||
@ -9174,7 +9174,7 @@ $(SCRIPT_TARGETS_PY_2_WIN_WIN32) : ../.efrocachemap
|
|||||||
|
|
||||||
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
||||||
# just generating explicit targets for each. Could perhaps look into using a
|
# just generating explicit targets for each. Could perhaps look into using a
|
||||||
# fancy for-loop instead.
|
# fancy for-loop instead, but perhaps listing these explicitly isn't so bad.
|
||||||
|
|
||||||
build/windows/Win32/Lib/__pycache__/zipfile.cpython-37.opt-1.pyc: \
|
build/windows/Win32/Lib/__pycache__/zipfile.cpython-37.opt-1.pyc: \
|
||||||
build/windows/Win32/Lib/zipfile.py
|
build/windows/Win32/Lib/zipfile.py
|
||||||
@ -13864,7 +13864,7 @@ $(SCRIPT_TARGETS_PY_2_WIN_X64) : ../.efrocachemap
|
|||||||
|
|
||||||
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
# Looks like path mangling from py to pyc is too complex for pattern rules so
|
||||||
# just generating explicit targets for each. Could perhaps look into using a
|
# just generating explicit targets for each. Could perhaps look into using a
|
||||||
# fancy for-loop instead.
|
# fancy for-loop instead, but perhaps listing these explicitly isn't so bad.
|
||||||
|
|
||||||
build/windows/x64/Lib/__pycache__/zipfile.cpython-37.opt-1.pyc: \
|
build/windows/x64/Lib/__pycache__/zipfile.cpython-37.opt-1.pyc: \
|
||||||
build/windows/x64/Lib/zipfile.py
|
build/windows/x64/Lib/zipfile.py
|
||||||
|
|||||||
@ -62,7 +62,7 @@ class Dependency(Generic[T]):
|
|||||||
|
|
||||||
def get_hash(self) -> int:
|
def get_hash(self) -> int:
|
||||||
"""Return the dependency's hash, calculating it if necessary."""
|
"""Return the dependency's hash, calculating it if necessary."""
|
||||||
from bafoundation.util import make_hash
|
from efro.util import make_hash
|
||||||
if self._hash is None:
|
if self._hash is None:
|
||||||
self._hash = make_hash((self.cls, self.config))
|
self._hash = make_hash((self.cls, self.config))
|
||||||
return self._hash
|
return self._hash
|
||||||
|
|||||||
@ -29,7 +29,7 @@ import _ba
|
|||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Any, Type
|
from typing import Any, Type
|
||||||
from bafoundation import executils
|
from efro import executils
|
||||||
|
|
||||||
T = TypeVar('T')
|
T = TypeVar('T')
|
||||||
|
|
||||||
|
|||||||
@ -18,4 +18,4 @@
|
|||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
"""Functionality shared between all Ballistica clients, servers, and tools."""
|
"""Bits of functionality common to ballistica client and server components."""
|
||||||
@ -25,7 +25,7 @@ from __future__ import annotations
|
|||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
|
||||||
from bafoundation import entity
|
from efro import entity
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
pass
|
pass
|
||||||
@ -18,13 +18,14 @@
|
|||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
"""Error related functionality shared between all ba components."""
|
"""Error related functionality."""
|
||||||
|
|
||||||
# Hmmmm - need to give this exception structure some thought...
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
class CommunicationError(Exception):
|
if TYPE_CHECKING:
|
||||||
"""A communication-related error occurred."""
|
pass
|
||||||
|
|
||||||
|
|
||||||
class RemoteError(Exception):
|
class RemoteError(Exception):
|
||||||
@ -18,34 +18,8 @@
|
|||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
"""Utilities for working with dataclasses."""
|
"""Common bits of functionality shared between all efro projects.
|
||||||
|
|
||||||
from __future__ import annotations
|
Things in here should be hardened, highly type-safe, and well-covered by unit
|
||||||
|
tests since they are widely used in live client and server code.
|
||||||
# import dataclasses
|
"""
|
||||||
|
|
||||||
# def dataclass_from_dict(cls, data):
|
|
||||||
# print("Creating dataclass from dict", cls, data, type(cls))
|
|
||||||
# try:
|
|
||||||
# print("FLDTYPES", [field.type for field in dataclasses.fields(cls)])
|
|
||||||
# fieldtypes = {
|
|
||||||
# field.name: field.type
|
|
||||||
# for field in dataclasses.fields(cls)
|
|
||||||
# }
|
|
||||||
# print("GOT FIELDTYPES", fieldtypes)
|
|
||||||
# # print("GOT", cls.__name__, fieldtypes, data)
|
|
||||||
# args = {
|
|
||||||
# field: dataclass_from_dict(fieldtypes[field], data[field])
|
|
||||||
# for field in data
|
|
||||||
# }
|
|
||||||
# print("CALCED ARGS", args)
|
|
||||||
# val = cls(
|
|
||||||
# **{
|
|
||||||
# field: dataclass_from_dict(fieldtypes[field], data[field])
|
|
||||||
# for field in data
|
|
||||||
# })
|
|
||||||
# print("CREATED", val)
|
|
||||||
# return val
|
|
||||||
# except Exception as exc:
|
|
||||||
# print("GOT EXC", exc)
|
|
||||||
# return data # Not a dataclass field
|
|
||||||
@ -28,14 +28,13 @@ certain use cases.
|
|||||||
"""
|
"""
|
||||||
# pylint: disable=unused-import
|
# pylint: disable=unused-import
|
||||||
|
|
||||||
from bafoundation.entity._entity import EntityMixin, Entity
|
from efro.entity._entity import EntityMixin, Entity
|
||||||
from bafoundation.entity._field import (Field, CompoundField, ListField,
|
from efro.entity._field import (Field, CompoundField, ListField, DictField,
|
||||||
DictField, CompoundListField,
|
CompoundListField, CompoundDictField)
|
||||||
CompoundDictField)
|
from efro.entity._value import (
|
||||||
from bafoundation.entity._value import (
|
|
||||||
EnumValue, OptionalEnumValue, IntValue, OptionalIntValue, StringValue,
|
EnumValue, OptionalEnumValue, IntValue, OptionalIntValue, StringValue,
|
||||||
OptionalStringValue, BoolValue, OptionalBoolValue, FloatValue,
|
OptionalStringValue, BoolValue, OptionalBoolValue, FloatValue,
|
||||||
OptionalFloatValue, DateTimeValue, OptionalDateTimeValue, Float3Value,
|
OptionalFloatValue, DateTimeValue, OptionalDateTimeValue, Float3Value,
|
||||||
CompoundValue)
|
CompoundValue)
|
||||||
|
|
||||||
from bafoundation.entity._support import FieldInspector
|
from efro.entity._support import FieldInspector
|
||||||
@ -25,9 +25,9 @@ from __future__ import annotations
|
|||||||
import json
|
import json
|
||||||
from typing import TYPE_CHECKING, TypeVar
|
from typing import TYPE_CHECKING, TypeVar
|
||||||
|
|
||||||
from bafoundation.entity._support import FieldInspector, BoundCompoundValue
|
from efro.entity._support import FieldInspector, BoundCompoundValue
|
||||||
from bafoundation.entity._value import CompoundValue
|
from efro.entity._value import CompoundValue
|
||||||
from bafoundation.jsonutils import ExtendedJSONEncoder, ExtendedJSONDecoder
|
from efro.jsonutils import ExtendedJSONEncoder, ExtendedJSONDecoder
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Dict, Any, Type, Union
|
from typing import Dict, Any, Type, Union
|
||||||
@ -79,7 +79,7 @@ class EntityMixin:
|
|||||||
compound field, the assignment operator can be used.
|
compound field, the assignment operator can be used.
|
||||||
"""
|
"""
|
||||||
import copy
|
import copy
|
||||||
from bafoundation.entity.util import have_matching_fields
|
from efro.entity.util import have_matching_fields
|
||||||
tvalue: CompoundValue
|
tvalue: CompoundValue
|
||||||
if isinstance(target, CompoundValue):
|
if isinstance(target, CompoundValue):
|
||||||
tvalue = target
|
tvalue = target
|
||||||
@ -108,7 +108,7 @@ class EntityMixin:
|
|||||||
with the result of a database transaction (which generally return
|
with the result of a database transaction (which generally return
|
||||||
fresh entities).
|
fresh entities).
|
||||||
"""
|
"""
|
||||||
from bafoundation.entity.util import have_matching_fields
|
from efro.entity.util import have_matching_fields
|
||||||
if not isinstance(target, EntityMixin):
|
if not isinstance(target, EntityMixin):
|
||||||
raise TypeError('EntityMixin is required.')
|
raise TypeError('EntityMixin is required.')
|
||||||
assert isinstance(target, CompoundValue)
|
assert isinstance(target, CompoundValue)
|
||||||
@ -136,7 +136,7 @@ class EntityMixin:
|
|||||||
def to_json_str(self, prune: bool = True, pretty: bool = False) -> str:
|
def to_json_str(self, prune: bool = True, pretty: bool = False) -> str:
|
||||||
"""Convert the entity to a json string.
|
"""Convert the entity to a json string.
|
||||||
|
|
||||||
This uses bafoundation.jsontools.ExtendedJSONEncoder/Decoder
|
This uses efro.jsontools.ExtendedJSONEncoder/Decoder
|
||||||
to support data types not natively storable in json.
|
to support data types not natively storable in json.
|
||||||
Be sure to use the corresponding loading functions here for
|
Be sure to use the corresponding loading functions here for
|
||||||
this same reason.
|
this same reason.
|
||||||
@ -26,15 +26,15 @@ import copy
|
|||||||
import logging
|
import logging
|
||||||
from typing import TYPE_CHECKING, Generic, TypeVar, overload
|
from typing import TYPE_CHECKING, Generic, TypeVar, overload
|
||||||
|
|
||||||
from bafoundation.entity._support import (BaseField, BoundCompoundValue,
|
from efro.entity._support import (BaseField, BoundCompoundValue,
|
||||||
BoundListField, BoundDictField,
|
BoundListField, BoundDictField,
|
||||||
BoundCompoundListField,
|
BoundCompoundListField,
|
||||||
BoundCompoundDictField)
|
BoundCompoundDictField)
|
||||||
from bafoundation.entity.util import have_matching_fields
|
from efro.entity.util import have_matching_fields
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Dict, Type, List, Any
|
from typing import Dict, Type, List, Any
|
||||||
from bafoundation.entity._value import TypedValue, CompoundValue
|
from efro.entity._value import TypedValue, CompoundValue
|
||||||
|
|
||||||
T = TypeVar('T')
|
T = TypeVar('T')
|
||||||
TK = TypeVar('TK')
|
TK = TypeVar('TK')
|
||||||
@ -97,7 +97,7 @@ class CompoundField(BaseField, Generic[TC]):
|
|||||||
store_default: bool = True) -> None:
|
store_default: bool = True) -> None:
|
||||||
super().__init__(d_key)
|
super().__init__(d_key)
|
||||||
if __debug__ is True:
|
if __debug__ is True:
|
||||||
from bafoundation.entity._value import CompoundValue
|
from efro.entity._value import CompoundValue
|
||||||
assert isinstance(value, CompoundValue)
|
assert isinstance(value, CompoundValue)
|
||||||
assert not hasattr(value, 'd_data')
|
assert not hasattr(value, 'd_data')
|
||||||
self.d_value = value
|
self.d_value = value
|
||||||
@ -138,7 +138,7 @@ class CompoundField(BaseField, Generic[TC]):
|
|||||||
return BoundCompoundValue(self.d_value, data[self.d_key])
|
return BoundCompoundValue(self.d_value, data[self.d_key])
|
||||||
|
|
||||||
def set_with_data(self, data: Any, value: Any, error: bool) -> Any:
|
def set_with_data(self, data: Any, value: Any, error: bool) -> Any:
|
||||||
from bafoundation.entity._value import CompoundValue
|
from efro.entity._value import CompoundValue
|
||||||
|
|
||||||
# Ok here's the deal: our type checking above allows any subtype
|
# Ok here's the deal: our type checking above allows any subtype
|
||||||
# of our CompoundValue in here, but we want to be more picky than
|
# of our CompoundValue in here, but we want to be more picky than
|
||||||
@ -24,14 +24,13 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from typing import TYPE_CHECKING, TypeVar, Generic, overload
|
from typing import TYPE_CHECKING, TypeVar, Generic, overload
|
||||||
|
|
||||||
from bafoundation.entity._base import BaseField
|
from efro.entity._base import BaseField
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import (Optional, Tuple, Type, Any, Dict, List, Union)
|
from typing import (Optional, Tuple, Type, Any, Dict, List, Union)
|
||||||
from bafoundation.entity._value import CompoundValue
|
from efro.entity._value import CompoundValue
|
||||||
from bafoundation.entity._field import (ListField, DictField,
|
from efro.entity._field import (ListField, DictField, CompoundListField,
|
||||||
CompoundListField,
|
CompoundDictField)
|
||||||
CompoundDictField)
|
|
||||||
|
|
||||||
T = TypeVar('T')
|
T = TypeVar('T')
|
||||||
TKey = TypeVar('TKey')
|
TKey = TypeVar('TKey')
|
||||||
@ -56,7 +55,7 @@ class BoundCompoundValue:
|
|||||||
|
|
||||||
def __eq__(self, other: Any) -> Any:
|
def __eq__(self, other: Any) -> Any:
|
||||||
# Allow comparing to compound and bound-compound objects.
|
# Allow comparing to compound and bound-compound objects.
|
||||||
from bafoundation.entity.util import compound_eq
|
from efro.entity.util import compound_eq
|
||||||
return compound_eq(self, other)
|
return compound_eq(self, other)
|
||||||
|
|
||||||
def __getattr__(self, name: str, default: Any = None) -> Any:
|
def __getattr__(self, name: str, default: Any = None) -> Any:
|
||||||
@ -119,7 +118,7 @@ class FieldInspector:
|
|||||||
|
|
||||||
def __getattr__(self, name: str, default: Any = None) -> Any:
|
def __getattr__(self, name: str, default: Any = None) -> Any:
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bafoundation.entity._field import CompoundField
|
from efro.entity._field import CompoundField
|
||||||
|
|
||||||
# If this attribute corresponds to a field on our obj's
|
# If this attribute corresponds to a field on our obj's
|
||||||
# unbound type, return a new inspector for it.
|
# unbound type, return a new inspector for it.
|
||||||
@ -296,7 +295,7 @@ class BoundCompoundListField(Generic[TCompound]):
|
|||||||
self._i = 0
|
self._i = 0
|
||||||
|
|
||||||
def __eq__(self, other: Any) -> Any:
|
def __eq__(self, other: Any) -> Any:
|
||||||
from bafoundation.entity.util import have_matching_fields
|
from efro.entity.util import have_matching_fields
|
||||||
|
|
||||||
# We can only be compared to other bound-compound-fields
|
# We can only be compared to other bound-compound-fields
|
||||||
if not isinstance(other, BoundCompoundListField):
|
if not isinstance(other, BoundCompoundListField):
|
||||||
@ -383,7 +382,7 @@ class BoundCompoundDictField(Generic[TKey, TCompound]):
|
|||||||
self.d_data = d_data
|
self.d_data = d_data
|
||||||
|
|
||||||
def __eq__(self, other: Any) -> Any:
|
def __eq__(self, other: Any) -> Any:
|
||||||
from bafoundation.entity.util import have_matching_fields
|
from efro.entity.util import have_matching_fields
|
||||||
|
|
||||||
# We can only be compared to other bound-compound-fields
|
# We can only be compared to other bound-compound-fields
|
||||||
if not isinstance(other, BoundCompoundDictField):
|
if not isinstance(other, BoundCompoundDictField):
|
||||||
@ -29,8 +29,8 @@ from collections import abc
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import TYPE_CHECKING, TypeVar, Tuple, Optional, Generic
|
from typing import TYPE_CHECKING, TypeVar, Tuple, Optional, Generic
|
||||||
|
|
||||||
from bafoundation.entity._base import DataHandler, BaseField
|
from efro.entity._base import DataHandler, BaseField
|
||||||
from bafoundation.entity.util import compound_eq
|
from efro.entity.util import compound_eq
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Optional, Set, List, Dict, Any, Type
|
from typing import Optional, Set, List, Dict, Any, Type
|
||||||
@ -26,8 +26,8 @@ from typing import TYPE_CHECKING
|
|||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Any, Union, Tuple, List
|
from typing import Any, Union, Tuple, List
|
||||||
from bafoundation.entity._value import CompoundValue
|
from efro.entity._value import CompoundValue
|
||||||
from bafoundation.entity._support import BoundCompoundValue
|
from efro.entity._support import BoundCompoundValue
|
||||||
|
|
||||||
|
|
||||||
def diff_compound_values(
|
def diff_compound_values(
|
||||||
@ -73,7 +73,7 @@ class CompoundValueDiff:
|
|||||||
|
|
||||||
def _diff(obj1: Union[BoundCompoundValue, CompoundValue],
|
def _diff(obj1: Union[BoundCompoundValue, CompoundValue],
|
||||||
obj2: Union[BoundCompoundValue, CompoundValue], indent: int) -> str:
|
obj2: Union[BoundCompoundValue, CompoundValue], indent: int) -> str:
|
||||||
from bafoundation.entity._support import BoundCompoundValue
|
from efro.entity._support import BoundCompoundValue
|
||||||
bits: List[str] = []
|
bits: List[str] = []
|
||||||
indentstr = ' ' * indent
|
indentstr = ' ' * indent
|
||||||
vobj1, _data1 = get_compound_value_and_data(obj1)
|
vobj1, _data1 = get_compound_value_and_data(obj1)
|
||||||
@ -113,8 +113,8 @@ def get_compound_value_and_data(
|
|||||||
) -> Tuple[CompoundValue, Any]:
|
) -> Tuple[CompoundValue, Any]:
|
||||||
"""Return value and data for bound or unbound compound values."""
|
"""Return value and data for bound or unbound compound values."""
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
from bafoundation.entity._support import BoundCompoundValue
|
from efro.entity._support import BoundCompoundValue
|
||||||
from bafoundation.entity._value import CompoundValue
|
from efro.entity._value import CompoundValue
|
||||||
if isinstance(obj, BoundCompoundValue):
|
if isinstance(obj, BoundCompoundValue):
|
||||||
value = obj.d_value
|
value = obj.d_value
|
||||||
data = obj.d_data
|
data = obj.d_data
|
||||||
@ -69,9 +69,10 @@ class CallbackSet(Generic[CT]):
|
|||||||
# similarly to functools.partial (in that they take a callable and some
|
# similarly to functools.partial (in that they take a callable and some
|
||||||
# positional arguments to be passed to it)
|
# positional arguments to be passed to it)
|
||||||
|
|
||||||
# We define several different _CallXArg classes corresponding to different
|
# In type-checking land, We define several different _CallXArg classes
|
||||||
# argument counts and define Call() as an overloaded function which returns
|
# corresponding to different argument counts and define Call() as an
|
||||||
# one of them based on how many args are passed.
|
# overloaded function which returns one of them based on how many args are
|
||||||
|
# passed.
|
||||||
|
|
||||||
# To use this, simply assign your call type to this Call for type checking:
|
# To use this, simply assign your call type to this Call for type checking:
|
||||||
# example:
|
# example:
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND -->
|
<!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND -->
|
||||||
<!--DOCSHASH=b0f526616eda4f3458fe72fdcd3b29e2-->
|
<!--DOCSHASH=b79ca84fb2cba7f2cc11b3d3169b6c29-->
|
||||||
<h4><em>last updated on 2020-01-23 for Ballistica version 1.5.0 build 20001</em></h4>
|
<h4><em>last updated on 2020-02-03 for Ballistica version 1.5.0 build 20001</em></h4>
|
||||||
<p>This page documents the Python classes and functions in the 'ba' module,
|
<p>This page documents the Python classes and functions in the 'ba' module,
|
||||||
which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p>
|
which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p>
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
@ -27,7 +27,7 @@ from enum import Enum, unique
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from bafoundation import entity
|
from efro import entity
|
||||||
from efrotools.statictest import static_type_equals
|
from efrotools.statictest import static_type_equals
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@ -277,7 +277,7 @@ def test_field_access_from_type() -> None:
|
|||||||
# instead of values.
|
# instead of values.
|
||||||
assert static_type_equals(ent.ival, int)
|
assert static_type_equals(ent.ival, int)
|
||||||
assert isinstance(ent.ival, int)
|
assert isinstance(ent.ival, int)
|
||||||
mypytype = 'bafoundation.entity._field.Field[builtins.int*]'
|
mypytype = 'efro.entity._field.Field[builtins.int*]'
|
||||||
assert static_type_equals(type(ent).ival, mypytype)
|
assert static_type_equals(type(ent).ival, mypytype)
|
||||||
assert isinstance(type(ent).ival, entity.Field)
|
assert isinstance(type(ent).ival, entity.Field)
|
||||||
|
|
||||||
1
tools/efro
Symbolic link
1
tools/efro
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../assets/src/data/scripts/efro
|
||||||
@ -18,7 +18,11 @@
|
|||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
"""EfroTools: Various build related functionality for use in my projects."""
|
"""Build/tool functionality shared between all efro projects.
|
||||||
|
|
||||||
|
This stuff can be a bit more sloppy/loosey-goosey since it is not used in
|
||||||
|
live client or server code.
|
||||||
|
"""
|
||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
|||||||
@ -671,7 +671,8 @@ def update_docs_md() -> None:
|
|||||||
exts = ['.cc', '.c', '.h', '.py']
|
exts = ['.cc', '.c', '.h', '.py']
|
||||||
for basedir in [
|
for basedir in [
|
||||||
'src/ballistica/python',
|
'src/ballistica/python',
|
||||||
'assets/src/data/scripts/bafoundation',
|
'assets/src/data/scripts/efro',
|
||||||
|
'assets/src/data/scripts/bacommon',
|
||||||
'assets/src/data/scripts/ba',
|
'assets/src/data/scripts/ba',
|
||||||
]:
|
]:
|
||||||
assert os.path.isdir(basedir)
|
assert os.path.isdir(basedir)
|
||||||
|
|||||||
@ -45,6 +45,8 @@ from typing import TYPE_CHECKING
|
|||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Optional, Tuple, List, Dict, Set
|
from typing import Optional, Tuple, List, Dict, Set
|
||||||
|
|
||||||
|
# Minimal legal notice line required in our private files.
|
||||||
|
# (Though public ones also start with this line too)
|
||||||
LEGAL_NOTICE_PRIVATE = 'Copyright (c) 2011-2019 Eric Froemling'
|
LEGAL_NOTICE_PRIVATE = 'Copyright (c) 2011-2019 Eric Froemling'
|
||||||
|
|
||||||
CLRHDR = '\033[95m' # Header.
|
CLRHDR = '\033[95m' # Header.
|
||||||
@ -442,7 +444,7 @@ class App:
|
|||||||
|
|
||||||
# Check our packages and make sure all subdirs contain and __init__.py
|
# Check our packages and make sure all subdirs contain and __init__.py
|
||||||
# (I tend to forget this sometimes)
|
# (I tend to forget this sometimes)
|
||||||
packagedirs = ['tools/efrotools']
|
packagedirs = ['tools/efrotools', 'tools/efro']
|
||||||
|
|
||||||
# (Assume all dirs under these dirs are packages)
|
# (Assume all dirs under these dirs are packages)
|
||||||
dirs_of_packages = ['assets/src/data/scripts', 'tests']
|
dirs_of_packages = ['assets/src/data/scripts', 'tests']
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user