Проектная работа - WIP
This commit is contained in:
@@ -19,6 +19,7 @@ pub enum Direction {
|
||||
}
|
||||
|
||||
impl Direction {
|
||||
/// Поворот налево
|
||||
pub fn rotate_left(&mut self) {
|
||||
*self = match self {
|
||||
Direction::Up => Direction::Left,
|
||||
@@ -28,6 +29,7 @@ impl Direction {
|
||||
};
|
||||
}
|
||||
|
||||
/// Поворот направо
|
||||
pub fn rotate_right(&mut self) {
|
||||
*self = match self {
|
||||
Direction::Up => Direction::Right,
|
||||
@@ -37,12 +39,27 @@ impl Direction {
|
||||
};
|
||||
}
|
||||
|
||||
pub fn vector(&self) -> Vec2 {
|
||||
/// Получить значение кооринаты соответствующей направлению движения
|
||||
pub fn get_coord(&self, vec: &Transform) -> f32 {
|
||||
match self {
|
||||
Direction::Up => vec2(0., 1.),
|
||||
Direction::Right => vec2(1., 0.),
|
||||
Direction::Down => vec2(0., -1.),
|
||||
Direction::Left => vec2(-1., 0.),
|
||||
Direction::Up | Direction::Down => vec.translation.y,
|
||||
Direction::Left | Direction::Right => vec.translation.x,
|
||||
}
|
||||
}
|
||||
|
||||
/// Получить знак изменения соответствующий направлению движения
|
||||
pub fn get_change_sign(&self) -> f32 {
|
||||
match self {
|
||||
Direction::Up | Direction::Right => 1.0,
|
||||
Direction::Down | Direction::Left => -1.0,
|
||||
}
|
||||
}
|
||||
|
||||
/// Установить значение кооринаты соответствующей направлению движения
|
||||
pub fn set_coord(&self, vec: &mut Transform, value: f32) {
|
||||
match self {
|
||||
Direction::Up | Direction::Down => vec.translation.y = value,
|
||||
Direction::Left | Direction::Right => vec.translation.x = value,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user