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
#![allow(rustdoc::private_intra_doc_links)]
//! This library implements a Bevy plugin for any angle path finding on the
//! game map.

mod chain;
mod exclusion;
mod finder;
mod fplugin;
mod geometry;
mod graph;
mod interval;
mod node;
mod path;
mod polyanya;
mod pplugin;
mod query;
mod segmentproj;
mod syncing;
mod triangulation;
mod utils;

use bevy::{app::PluginGroupBuilder, prelude::PluginGroup};
pub use exclusion::ExclusionArea;
pub use fplugin::create_finder;
use fplugin::FinderPlugin;
pub use path::ScheduledPath;
use pplugin::PathingPlugin;
pub use pplugin::UpdateEntityPathEvent;
pub use query::{PathQueryProps, PathTarget};
use syncing::SyncingPlugin;

pub struct PathingPluginGroup;

impl PluginGroup for PathingPluginGroup {
    fn build(self) -> PluginGroupBuilder {
        PluginGroupBuilder::start::<Self>()
            .add(FinderPlugin)
            .add(PathingPlugin)
            .add(SyncingPlugin)
    }
}