Releases: makspll/bevy_mod_scripting
Releases · makspll/bevy_mod_scripting
v0.9.0-alpha.8
Added
- re-implement rhai again (#222)
- add
ScriptValue::Map
and create appropriate conversions in lua and rhai (#229) - Add
functions
script method, and create function info scaffolding (#228) - Call custom
get
andset
functions on the type when indexing. (#226) - Add
optional
arguments to script functions (#225) - Add world.with_or_insert_component_mut() (#223)
v0.9.0-alpha.7
v0.9.0-alpha.6
Added
- Don't panic! (#216)
v0.9.0-alpha.5
Fixed
- Fix missing functions in codegen (#210)
v0.9.0-alpha.4
v0.9.0-alpha.3
v0.9.0-alpha.2
Added
- Dynamic function registry and dynamic function calls
bevy_mod_scripting_functions
crate 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
, andFromScriptRef
traits - Added
ScriptAllocator
to manage lifetimes of non-world stored types (such asVec2
created via scripts etc..) - Added
AccessMap
dynamic safety mechanism, every access is now small, and does not require mutexing the entire world
Changed
- Complete plugin re-write, expect breakages everywhere
prelude
imports removedScriptValue
abstraction replacing the concept of a generic event argument type. Each event payload is aScriptValue
world
is now a static reference,world:function
calls must be replaced withworld.function
calls- Documentation generation was temporarilly removed
Teal
andTealr
was removedbevy_mod_scripting_derive
,bevy_mod_scripting_common
and other derive crates as well asbevy_event_priority
andbevy_script_api
crates were removed- Temporarilly suspended full rhai and rune support until next non-alpha release
- Removed Deferred reflection mechanism
- Added
mdbook
documentation book - Removed
APIProvider
traits in favour of various configuration resources - Specific registration of
Vec<T>
andOption<T>
viaregister_lua_vec
etc.. is no longer necessary, reflection just works on all registered types - Expanded core library of
ReflectReference
functions - Removed
LuaProxyable
abstraction 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
AccessMap
locks to do so safely (which is abstracted away with various utility functions) - And much more