position
This commit is contained in:
parent
2afbb13a0e
commit
eca3e6d504
0
src/map/identity.rs
Normal file
0
src/map/identity.rs
Normal file
31
src/map/position.rs
Normal file
31
src/map/position.rs
Normal file
|
@ -0,0 +1,31 @@
|
|||
//! on stocke les données des position (fonction, enum et struct)
|
||||
|
||||
use bevy::prelude::*;
|
||||
use map::identity::*;
|
||||
|
||||
#[derive(Component)]
|
||||
/// position du block
|
||||
pub struct BlockPosition {
|
||||
/// la position en x
|
||||
pub x: u8,
|
||||
/// la position en y
|
||||
pub y: u8,
|
||||
}
|
||||
|
||||
impl BlockPosition {
|
||||
/// retourne la position en x et y dans la map en foction de la position abstraite
|
||||
pub fn to_transform(&self, identity: Identity) -> Transform {
|
||||
let max_y: u8 = 9;
|
||||
let max_x = 10.;
|
||||
let new_y = max_y - 1 - self.y;
|
||||
let offset_x = new_y % 2;
|
||||
|
||||
let mut new_x = (offset_x as f32).mul_add(0.5, self.x as f32);
|
||||
if identity == Identity::Joueur2 {
|
||||
new_x = max_x - new_x;
|
||||
};
|
||||
|
||||
Transform::from_xyz(new_x, new_y as f32 * 0.42, self.y as f32)
|
||||
.with_scale(Vec3::splat(1.0 / 185.0))
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue