50 lines
1.9 KiB
Rust
50 lines
1.9 KiB
Rust
use bevy::{
|
|
prelude::*,
|
|
render::{mesh::MeshVertexAttribute, render_resource::VertexFormat},
|
|
};
|
|
|
|
use crate::hex_utils::{INNER_RADIUS, OUTER_RADIUS};
|
|
|
|
pub const TEX_MULTI: Vec2 = Vec2::new(1000., 1.);
|
|
|
|
pub const HEX_CORNERS: [Vec3; 6] = [
|
|
Vec3::new(0., 0., OUTER_RADIUS),
|
|
Vec3::new(INNER_RADIUS, 0., 0.5 * OUTER_RADIUS),
|
|
Vec3::new(INNER_RADIUS, 0., -0.5 * OUTER_RADIUS),
|
|
Vec3::new(0., 0., -OUTER_RADIUS),
|
|
Vec3::new(-INNER_RADIUS, 0., -0.5 * OUTER_RADIUS),
|
|
Vec3::new(-INNER_RADIUS, 0., 0.5 * OUTER_RADIUS),
|
|
];
|
|
|
|
pub const WATER_HEX_CORNERS: [Vec3; 12] = [
|
|
Vec3::new(0., 0., OUTER_RADIUS),
|
|
Vec3::new(INNER_RADIUS / 2.0, 0., 0.75 * OUTER_RADIUS),
|
|
Vec3::new(INNER_RADIUS, 0., 0.5 * OUTER_RADIUS),
|
|
Vec3::new(INNER_RADIUS, 0., 0.),
|
|
Vec3::new(INNER_RADIUS, 0., -0.5 * OUTER_RADIUS),
|
|
Vec3::new(INNER_RADIUS / 2.0, 0., -0.75 * OUTER_RADIUS),
|
|
Vec3::new(0., 0., -OUTER_RADIUS),
|
|
Vec3::new(-INNER_RADIUS / 2.0, 0., -0.75 * OUTER_RADIUS),
|
|
Vec3::new(-INNER_RADIUS, 0., -0.5 * OUTER_RADIUS),
|
|
Vec3::new(-INNER_RADIUS, 0., 0.),
|
|
Vec3::new(-INNER_RADIUS, 0., 0.5 * OUTER_RADIUS),
|
|
Vec3::new(-INNER_RADIUS / 2.0, 0., 0.75 * OUTER_RADIUS),
|
|
];
|
|
|
|
pub const HEX_NORMALS: [Vec3; 6] = [
|
|
Vec3::new(INNER_RADIUS / 2., 0., (OUTER_RADIUS + 0.5 * OUTER_RADIUS) / 2.),
|
|
Vec3::Z,
|
|
Vec3::new(INNER_RADIUS / -2., 0., (OUTER_RADIUS + 0.5 * OUTER_RADIUS) / 2.),
|
|
Vec3::new(INNER_RADIUS / -2., 0., (OUTER_RADIUS + 0.5 * OUTER_RADIUS) / -2.),
|
|
Vec3::NEG_Z,
|
|
Vec3::new(INNER_RADIUS / 2., 0., (OUTER_RADIUS + 0.5 * OUTER_RADIUS) / -2.),
|
|
];
|
|
|
|
pub const ATTRIBUTE_PACKED_VERTEX_DATA: MeshVertexAttribute =
|
|
MeshVertexAttribute::new("PackedVertexData", 7, VertexFormat::Uint32);
|
|
pub const ATTRIBUTE_VERTEX_HEIGHT: MeshVertexAttribute =
|
|
MeshVertexAttribute::new("VertexHeight", 8, VertexFormat::Float32);
|
|
|
|
pub const ATTRIBUTE_TEXTURE_INDEX: MeshVertexAttribute =
|
|
MeshVertexAttribute::new("TextureIndex", 988540917, VertexFormat::Uint32);
|