~starkingdoms/starkingdoms

ref: d733c4e3b55f6eaed09948f4309c32ab33f4c02b starkingdoms/crates/unified/src/client_plugins.rs -rw-r--r-- 1.3 KiB
d733c4e3 — core feat: avian! 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
use crate::client::ClientPlugin;
use aeronet_replicon::client::AeronetRepliconClientPlugin;
use aeronet_websocket::client::WebSocketClientPlugin;
use bevy::DefaultPlugins;
use bevy::app::{PluginGroup, PluginGroupBuilder};
use bevy::dev_tools::picking_debug::DebugPickingPlugin;
use bevy::ecs::schedule::ScheduleLabel;
use bevy::log::LogPlugin;
use crate::prelude::*;
use bevy::ui::UiPlugin;
use bevy_replicon::RepliconPlugins;

pub struct ClientPluginGroup {
    pub server: String,
}
impl PluginGroup for ClientPluginGroup {
    fn build(self) -> PluginGroupBuilder {
        PluginGroupBuilder::start::<Self>()
            .add_group(DefaultPlugins.build().disable::<LogPlugin>())
            .add_group(RepliconPlugins)
            .add(WebSocketClientPlugin)
            .add(AeronetRepliconClientPlugin)
            .add(MeshPickingPlugin)
            .add(DebugPickingPlugin)
            .add(UiPlugin)
            .add(ClientPlugin {
                server: self.server,
            })

            //.add(PhysicsDebugPlugin) -- debug rendering
            //.add(FpsOverlayPlugin::default())
            //.add(EguiPlugin::default())
            //.add(WorldInspectorPlugin::new())
    }
}

#[derive(ScheduleLabel, Clone, Eq, Debug, Hash, PartialEq)]
pub struct DontRunSchedule;