v0.9.0-alpha.2
·
317 commits
to main
since this release
Added
- Dynamic function registry and dynamic function calls
bevy_mod_scripting_functionscrate added, containing built-in dynamic functions callable from scripts- Lua dynamic function call mechanism
- Dynamic functions automatically register their argument and return types with the type registry
- Added set of
IntoScript,FromScript,IntoScriptRef, andFromScriptReftraits - Added
ScriptAllocatorto manage lifetimes of non-world stored types (such asVec2created via scripts etc..) - Added
AccessMapdynamic safety mechanism, every access is now small, and does not require mutexing the entire world
Changed
- Complete plugin re-write, expect breakages everywhere
preludeimports removedScriptValueabstraction replacing the concept of a generic event argument type. Each event payload is aScriptValueworldis now a static reference,world:functioncalls must be replaced withworld.functioncalls- Documentation generation was temporarilly removed
TealandTealrwas removedbevy_mod_scripting_derive,bevy_mod_scripting_commonand other derive crates as well asbevy_event_priorityandbevy_script_apicrates were removed- Temporarilly suspended full rhai and rune support until next non-alpha release
- Removed Deferred reflection mechanism
- Added
mdbookdocumentation book - Removed
APIProvidertraits in favour of various configuration resources - Specific registration of
Vec<T>andOption<T>viaregister_lua_vecetc.. is no longer necessary, reflection just works on all registered types - Expanded core library of
ReflectReferencefunctions - Removed
LuaProxyableabstraction and all custom type data, everything is now driven via normal reflection - All references are now represented via either references to the world or to a
ScriptAllocator - Accessing anything in the world requires claiming the appropriate
AccessMaplocks to do so safely (which is abstracted away with various utility functions) - And much more