22 lines
529 B
Rust
22 lines
529 B
Rust
#![warn(missing_docs)]
|
|
|
|
//! Computer-controlled ship behaviors
|
|
|
|
pub mod behavior;
|
|
|
|
use galactica_content as content;
|
|
use galactica_world::{ShipPhysicsHandle, World};
|
|
|
|
/// Main behavior trait. Any struct that implements this
|
|
/// may be used to control a ship.
|
|
pub trait ShipBehavior
|
|
where
|
|
Self: Send,
|
|
{
|
|
/// Update a ship's controls based on world state
|
|
fn update_controls(&mut self, physics: &mut World, content: &content::Content);
|
|
|
|
/// Get the ship this behavior is attached to
|
|
fn get_handle(&self) -> ShipPhysicsHandle;
|
|
}
|