Struct veloren_common::comp::agent::Agent
source · pub struct Agent {Show 17 fields
pub rtsim_controller: RtSimController,
pub patrol_origin: Option<Vec3<f32>>,
pub target: Option<Target>,
pub chaser: Chaser,
pub behavior: Behavior,
pub psyche: Psyche,
pub inbox: VecDeque<AgentEvent>,
pub combat_state: ActionState,
pub behavior_state: ActionState,
pub timer: Timer,
pub bearing: Vec2<f32>,
pub sounds_heard: Vec<Sound>,
pub position_pid_controller: Option<PidController<fn(_: Vec3<f32>, _: Vec3<f32>) -> f32, 16>>,
pub flee_from_pos: Option<Pos>,
pub awareness: Awareness,
pub stay_pos: Option<Pos>,
pub rtsim_outbox: Option<VecDeque<NpcInput>>,
}
Expand description
For use with the builder pattern https://doc.rust-lang.org/1.0.0/style/ownership/builders.html
Fields§
§rtsim_controller: RtSimController
§patrol_origin: Option<Vec3<f32>>
§target: Option<Target>
§chaser: Chaser
§behavior: Behavior
§psyche: Psyche
§inbox: VecDeque<AgentEvent>
§combat_state: ActionState
§behavior_state: ActionState
§timer: Timer
§bearing: Vec2<f32>
§sounds_heard: Vec<Sound>
§position_pid_controller: Option<PidController<fn(_: Vec3<f32>, _: Vec3<f32>) -> f32, 16>>
§flee_from_pos: Option<Pos>
Position from which to flee. Intended to be the agent’s position plus a random position offset, to be used when a random flee direction is required and reset each time the flee timer is reset.
awareness: Awareness
§stay_pos: Option<Pos>
§rtsim_outbox: Option<VecDeque<NpcInput>>
Inputs sent up to rtsim
Implementations§
source§impl Agent
impl Agent
pub fn with_patrol_origin(self, origin: Vec3<f32>) -> Self
pub fn with_behavior(self, behavior: Behavior) -> Self
pub fn with_no_flee_if(self, condition: bool) -> Self
pub fn set_no_flee(&mut self)
pub fn with_destination(self, pos: Vec3<f32>) -> Self
pub fn with_idle_wander_factor(self, idle_wander_factor: f32) -> Self
pub fn with_aggro_range_multiplier(self, aggro_range_multiplier: f32) -> Self
pub fn with_position_pid_controller( self, pid: PidController<fn(_: Vec3<f32>, _: Vec3<f32>) -> f32, 16> ) -> Self
sourcepub fn with_aggro_no_warn(self) -> Self
pub fn with_aggro_no_warn(self) -> Self
Makes agent aggressive without warning
pub fn forget_old_sounds(&mut self, time: f64)
pub fn allowed_to_speak(&self) -> bool
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Agent
impl Send for Agent
impl Sync for Agent
impl Unpin for Agent
impl UnwindSafe for Agent
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more