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