use crate::shared::ability::*; use crate::shared::player::*; use crate::shared::*; use serde::Deserialize; use serde::Serialize; #[derive(Component, Message, Copy, Clone, PartialEq, Debug, Deserialize, Serialize)] pub enum Imperative { Idle, WalkTo(Vec2), AttackDirection(AbilitySlot, Vec2), AttackTarget(AbilitySlot, PlayerId), }