tile mapper asset
This commit is contained in:
@@ -2,6 +2,7 @@ pub mod heightmap;
|
|||||||
pub mod hex_utils;
|
pub mod hex_utils;
|
||||||
pub mod mesh_generator;
|
pub mod mesh_generator;
|
||||||
pub mod tile_manager;
|
pub mod tile_manager;
|
||||||
|
pub mod tile_mapper;
|
||||||
|
|
||||||
pub mod prelude {
|
pub mod prelude {
|
||||||
use crate::hex_utils::HexCoord;
|
use crate::hex_utils::HexCoord;
|
||||||
|
|||||||
25
engine/world_generation/src/tile_mapper.rs
Normal file
25
engine/world_generation/src/tile_mapper.rs
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
use asset_loader::create_asset_loader;
|
||||||
|
use bevy::prelude::*;
|
||||||
|
use bevy::{
|
||||||
|
asset::{Asset, Handle},
|
||||||
|
reflect::TypePath,
|
||||||
|
};
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
use crate::tile_manager::TileAsset;
|
||||||
|
|
||||||
|
pub struct TileMapper;
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, TypePath, Asset)]
|
||||||
|
struct TileMapperAsset {
|
||||||
|
#[serde(skip)]
|
||||||
|
pub tiles: Vec<Handle<TileAsset>>,
|
||||||
|
pub tiles_path: Vec<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
create_asset_loader!(
|
||||||
|
TileMapperAssetPlugin,
|
||||||
|
TileMapperAssetLoader,
|
||||||
|
TileMapperAsset,
|
||||||
|
&["mapper.json"],
|
||||||
|
);
|
||||||
@@ -35,6 +35,7 @@ impl Plugin for PhosGamePlugin {
|
|||||||
|
|
||||||
//Assets
|
//Assets
|
||||||
app.add_plugins(TileAssetPlugin);
|
app.add_plugins(TileAssetPlugin);
|
||||||
|
app.add_plugins(TileMapperAssetPlugin);
|
||||||
//Physics
|
//Physics
|
||||||
app.add_plugins(RapierPhysicsPlugin::<NoUserData>::default())
|
app.add_plugins(RapierPhysicsPlugin::<NoUserData>::default())
|
||||||
.add_plugins(RapierDebugRenderPlugin::default());
|
.add_plugins(RapierDebugRenderPlugin::default());
|
||||||
|
|||||||
Reference in New Issue
Block a user