@@ -9,11 +9,13 @@ pub struct PlayerPlugin;
9
9
10
10
impl Plugin for PlayerPlugin {
11
11
fn build ( & self , app : & mut App ) {
12
+ debug ! ( "Building PlayerPlugin" ) ;
13
+ info ! ( "Building PlayerPlugin" ) ;
12
14
app. add_plugins ( FpsControllerPlugin ) ;
13
15
app. add_plugins ( RapierPhysicsPlugin :: < NoUserData > :: default ( ) ) ;
14
16
app. add_plugins ( RapierDebugRenderPlugin :: default ( ) ) ;
15
17
app. insert_resource ( RapierConfiguration {
16
- gravity : Vec3 :: new ( 0. , - 1.6 , 0. ) ,
18
+ gravity : Vec3 :: new ( 0. , 0.0 , 0. ) ,
17
19
physics_pipeline_active : true ,
18
20
force_update_from_transform_changes : false ,
19
21
scaled_shape_subdivision : 1 ,
@@ -25,14 +27,21 @@ impl Plugin for PlayerPlugin {
25
27
} ) ;
26
28
app. add_event :: < player_events:: PlayerColliderUpdateEvent > ( ) ;
27
29
app. insert_resource ( player_resources:: BlockSelection :: new ( ) ) ;
30
+ app. insert_resource ( player_resources:: PlayerSpawned ( false ) ) ;
28
31
app. insert_resource ( player_resources:: LastPlayerPosition :: new ( ) ) ;
29
32
app. add_systems (
30
33
Startup ,
31
34
(
32
- player_systems:: setup_controller_system,
33
35
player_systems:: setup_highlight_cube_system,
36
+ player_systems:: setup_player_camera,
34
37
) ,
35
38
) ;
39
+ app. add_systems (
40
+ Update ,
41
+ ( player_systems:: setup_controller_on_area_ready_system, )
42
+ . run_if ( terrain_resources:: SpawnAreaLoaded :: is_loaded)
43
+ . run_if ( player_resources:: PlayerSpawned :: is_not_spawned) ,
44
+ ) ;
36
45
app. add_systems (
37
46
Update ,
38
47
(
@@ -44,7 +53,8 @@ impl Plugin for PlayerPlugin {
44
53
player_systems:: handle_block_update_events,
45
54
player_systems:: broadcast_player_attributes_system,
46
55
player_systems:: handle_player_collider_events_system,
47
- ) ,
56
+ )
57
+ . run_if ( player_resources:: PlayerSpawned :: is_spawned) ,
48
58
) ;
49
59
}
50
60
}
0 commit comments