@@ -11,41 +11,31 @@ struct HotReload;
11
11
12
12
#[ gdextension]
13
13
unsafe impl ExtensionLibrary for HotReload {
14
- fn on_level_init ( _level : InitLevel ) {
15
- println ! ( "[Rust] Init level {:?}" , _level ) ;
14
+ fn on_level_init ( level : InitLevel ) {
15
+ println ! ( "[Rust] Init level {level :?}" ) ;
16
16
}
17
17
18
- fn on_level_deinit ( _level : InitLevel ) {
19
- println ! ( "[Rust] Deinit level {:?}" , _level ) ;
18
+ fn on_level_deinit ( level : InitLevel ) {
19
+ println ! ( "[Rust] Deinit level {level :?}" ) ;
20
20
}
21
21
}
22
22
23
23
// ----------------------------------------------------------------------------------------------------------------------------------------------
24
24
25
25
/// A RustDoc comment appearing under the editor help docs.
26
26
#[ derive( GodotClass ) ]
27
- #[ class( base=Node ) ]
27
+ #[ class( init , base=Node ) ]
28
28
struct Reloadable {
29
29
/// A planet!
30
30
#[ export]
31
+ #[ init( val = Planet :: Earth ) ]
31
32
favorite_planet : Planet ,
32
33
//
33
34
// HOT-RELOAD: uncomment this to add a new exported field (also update init() below).
34
35
// #[export]
35
36
// some_string: GString,
36
37
}
37
38
38
- #[ godot_api]
39
- impl INode for Reloadable {
40
- fn init ( _base : Base < Self :: Base > ) -> Self {
41
- // HOT-RELOAD: change values to initialize with different defaults.
42
- Self {
43
- favorite_planet : Planet :: Earth ,
44
- //some_string: "Hello, world!".into(),
45
- }
46
- }
47
- }
48
-
49
39
#[ godot_api]
50
40
impl Reloadable {
51
41
/// A function to return a number.
@@ -55,19 +45,18 @@ impl Reloadable {
55
45
100
56
46
}
57
47
58
- /// Constructor from a string.
48
+ // HOT-RELOAD: uncomment to make new function accessible.
49
+
59
50
#[ func]
60
- fn from_string ( s : GString ) -> Gd < Self > {
61
- Gd :: from_object ( Reloadable {
62
- favorite_planet : Planet :: from_godot ( s) ,
63
- } )
51
+ fn get_planet ( & self ) -> Planet {
52
+ self . favorite_planet
64
53
}
65
54
}
66
55
67
56
// ----------------------------------------------------------------------------------------------------------------------------------------------
68
57
69
58
/// A planet enum.
70
- #[ derive( GodotConvert , Var , Export ) ]
59
+ #[ derive( GodotConvert , Var , Export , Copy , Clone , Debug ) ]
71
60
#[ godot( via = GString ) ]
72
61
enum Planet {
73
62
Earth ,
0 commit comments