2024-08-29 04:51:21 +03:00
|
|
|
use godot::prelude::*;
|
|
|
|
|
|
|
|
#[derive(Default, Clone, Debug, GodotClass)]
|
|
|
|
#[class(tool, init, base=Resource)]
|
2024-08-29 17:59:46 +03:00
|
|
|
/// Properties for a 2D/3D flock.
|
2024-08-29 04:51:21 +03:00
|
|
|
pub struct FlockProperties {
|
|
|
|
#[export]
|
|
|
|
#[init(val = 625.0)]
|
2024-08-29 15:49:23 +03:00
|
|
|
/// Distance (squared) to apply seperation force between boids in a flock.
|
2024-08-29 04:51:21 +03:00
|
|
|
pub goal_seperation: f32,
|
|
|
|
#[export]
|
|
|
|
#[init(val = 2500.0)]
|
2024-08-29 15:49:23 +03:00
|
|
|
/// Distance (squared) to apply alignment force between boids in a flock.
|
2024-08-29 04:51:21 +03:00
|
|
|
pub goal_alignment: f32,
|
|
|
|
#[export]
|
|
|
|
#[init(val = 2500.0)]
|
2024-08-29 15:49:23 +03:00
|
|
|
/// Distance (squared) to apply cohesion force between boids in a flock.
|
2024-08-29 04:51:21 +03:00
|
|
|
pub goal_cohesion: f32,
|
|
|
|
}
|