@@ -9,34 +9,29 @@ use bevy_mod_scripting_core::bindings::{
9
9
namespace:: NamespaceBuilder ,
10
10
} ,
11
11
} ;
12
+ use bevy_mod_scripting_derive:: script_bindings;
12
13
use crate :: * ;
13
14
pub struct BevyCoreScriptingPlugin ;
15
+ #[ script_bindings( remote, name = "name" ) ]
16
+ impl bevy:: core:: prelude:: Name {
17
+ fn clone ( _self : Ref < bevy:: core:: prelude:: Name > ) {
18
+ let output: Val < bevy:: core:: prelude:: Name > = <bevy:: core:: prelude:: Name as std:: clone:: Clone >:: clone (
19
+ & _self,
20
+ )
21
+ . into ( ) ;
22
+ output
23
+ }
24
+ fn eq ( _self : Ref < bevy:: core:: prelude:: Name > , other : Ref < bevy:: core:: prelude:: Name > ) {
25
+ let output: bool = <bevy:: core:: prelude:: Name as std:: cmp:: PartialEq <
26
+ bevy:: core:: prelude:: Name ,
27
+ > >:: eq ( & _self, & other)
28
+ . into ( ) ;
29
+ output
30
+ }
31
+ }
14
32
impl :: bevy:: app:: Plugin for BevyCoreScriptingPlugin {
15
33
fn build ( & self , app : & mut :: bevy:: prelude:: App ) {
16
34
let mut world = app. world_mut ( ) ;
17
- NamespaceBuilder :: < :: bevy:: core:: prelude:: Name > :: new ( world)
18
- . register (
19
- "clone" ,
20
- |_self : Ref < bevy:: core:: prelude:: Name > | {
21
- let output: Val < bevy:: core:: prelude:: Name > = <bevy:: core:: prelude:: Name as std:: clone:: Clone >:: clone (
22
- & _self,
23
- )
24
- . into ( ) ;
25
- output
26
- } ,
27
- )
28
- . register (
29
- "eq" ,
30
- |
31
- _self : Ref < bevy:: core:: prelude:: Name > ,
32
- other : Ref < bevy:: core:: prelude:: Name > |
33
- {
34
- let output: bool = <bevy:: core:: prelude:: Name as std:: cmp:: PartialEq <
35
- bevy:: core:: prelude:: Name ,
36
- > >:: eq ( & _self, & other)
37
- . into ( ) ;
38
- output
39
- } ,
40
- ) ;
35
+ register_name ( & mut world) ;
41
36
}
42
37
}
0 commit comments