Проектная работа - WIP

This commit is contained in:
3 changed files with 61 additions and 27 deletions
+22 -5
View File
@@ -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,
}
}
}