~starkingdoms/starkingdoms

ref: 97a7f3ed1ee67a9ce3a05f453237b1de04f459f6 starkingdoms/crates/unified/src/server/mod.rs -rw-r--r-- 1.7 KiB
97a7f3ed — core chore(netcode-rewrite): code cleanups and refactoring 28 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
mod earth_parts;
mod gravity;
mod part;
mod heat;
mod drill;
mod craft;
mod damping;
pub mod planets;
pub mod player;
mod system_sets;
pub mod orbit;
pub mod plugins;
pub mod components;

use crate::server::craft::craft_plugin;
use crate::server::damping::damping_plugin;
use crate::server::drill::drill_plugin;
use crate::server::earth_parts::spawn_parts_plugin;
use crate::server::gravity::newtonian_gravity_plugin;
use crate::server::part::part_management_plugin;
use crate::server::planets::planets_plugin;
use crate::server::player::player_management_plugin;
use crate::server::system_sets::{PlayerInputSet, WorldUpdateSet};
use crate::prelude::*;
use crate::server::orbit::OrbitPlugin;
use crate::server::player::thrust::server_thrust_plugin;

pub struct ServerPlugin;

impl Plugin for ServerPlugin {
    fn build(&self, app: &mut App) {
        app.add_systems(Startup, player::join::spawn_singleplayer_player)
        .add_plugins(planets_plugin)
        .add_plugins(newtonian_gravity_plugin)
        .add_plugins(player_management_plugin)
        .add_plugins(spawn_parts_plugin)
        .add_plugins(part_management_plugin)
        .add_plugins(server_thrust_plugin)
        /*.add_plugins(heat_cooling_plugin)
        .add_plugins(heat_radiation_plugin)
        .add_plugins(heat_conduction_plugin)*/
        .add_plugins(drill_plugin)
        .add_plugins(craft_plugin)
        .add_plugins(OrbitPlugin)
        .add_plugins(damping_plugin)
        .configure_sets(Update, WorldUpdateSet.before(PlayerInputSet));
    }
}

#[derive(Component, Debug)]
pub struct ConnectedGameEntity {
    pub network_entity: Entity,
}
#[derive(Component)]
pub struct ConnectedNetworkEntity {
    pub game_entity: Entity,
}