use crate::shared::ability::*; use crate::shared::*; use serde::Deserialize; use serde::Serialize; #[derive(Component, Copy, Clone, PartialEq, Debug, Deserialize, Serialize)] pub enum Imperative { Idle, WalkTo(Vec2), AttackTarget(TargetedAbility, PlayerId), AttackDirection(DirectionalAbility, Vec2), } #[derive(Resource, Copy, Clone, PartialEq, Debug, Deserialize, Serialize)] pub enum AttackKey { A, Q, W, E, R, F, G, }