misc
This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -12,7 +12,7 @@
|
||||
"name": "Debug",
|
||||
"program": "${workspaceRoot}/target/debug/phos.exe",
|
||||
"args": [],
|
||||
"cwd": "${workspaceRoot}/target/debug",
|
||||
"cwd": "${workspaceRoot}/game/main",
|
||||
"preLaunchTask": "Build",
|
||||
// "environment": [
|
||||
// {
|
||||
|
||||
@@ -36,6 +36,11 @@ fn main() {
|
||||
mag_filter: ImageFilterMode::Nearest,
|
||||
..default()
|
||||
},
|
||||
})
|
||||
.set(AssetPlugin {
|
||||
#[cfg(not(debug_assertions))]
|
||||
watch_for_changes_override: Some(true),
|
||||
..Default::default()
|
||||
}),
|
||||
WorldInspectorPlugin::new(),
|
||||
WireframePlugin,
|
||||
|
||||
@@ -128,8 +128,8 @@ fn finalize_biome_painter(
|
||||
biome_painter: Res<BiomePainterAsset>,
|
||||
biomes: Res<Assets<BiomeAsset>>,
|
||||
) {
|
||||
let biome_painter = biome_painter.build(&biomes);
|
||||
commands.insert_resource(biome_painter);
|
||||
let painter = biome_painter.build(&biomes);
|
||||
commands.insert_resource(painter);
|
||||
next_generator_state.set(GeneratorState::GenerateHeightmap);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
use bevy::{prelude::*, render::render_asset::RenderAssetUsages};
|
||||
use bevy_inspector_egui::bevy_egui::EguiContexts;
|
||||
use bevy_inspector_egui::egui::{self};
|
||||
use bevy_rapier3d::rapier::crossbeam::deque::Steal;
|
||||
use image::{ImageBuffer, Rgba};
|
||||
use world_generation::map::biome_map::{self, BiomeMap};
|
||||
use world_generation::map::map_utils::{render_biome_map, render_biome_noise_map, update_map};
|
||||
use world_generation::biome_asset::BiomeAsset;
|
||||
use world_generation::biome_painter::BiomePainterAsset;
|
||||
use world_generation::map::biome_map::BiomeMap;
|
||||
use world_generation::map::map_utils::{render_biome_map, render_biome_noise_map};
|
||||
use world_generation::{map::map_utils::render_map, prelude::Map, states::GeneratorState};
|
||||
|
||||
pub struct EditorPlugin;
|
||||
@@ -16,7 +17,7 @@ impl Plugin for EditorPlugin {
|
||||
app.add_systems(PostUpdate, prepare_image.run_if(in_state(GeneratorState::SpawnMap)));
|
||||
app.add_systems(
|
||||
Update,
|
||||
(render_map_ui, update_map_render).run_if(in_state(GeneratorState::Idle)),
|
||||
(render_map_ui, update_map_render, asset_reloaded).run_if(in_state(GeneratorState::Idle)),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -59,7 +60,32 @@ enum MapDisplayType {
|
||||
BiomeNoiseMoisture,
|
||||
}
|
||||
|
||||
fn render_map_ui(image: Res<MapImage>, heightmap: Res<Map>, biome_map: Res<BiomeMap>, mut contexts: EguiContexts, mut state: ResMut<UIState>) {
|
||||
fn asset_reloaded(
|
||||
mut asset_events: EventReader<AssetEvent<BiomeAsset>>,
|
||||
mut biomes: ResMut<Assets<BiomeAsset>>,
|
||||
biome_painter: Res<BiomePainterAsset>,
|
||||
mut commands: Commands,
|
||||
) {
|
||||
let mut rebuild = false;
|
||||
for event in asset_events.read() {
|
||||
match event {
|
||||
AssetEvent::Modified { id } => rebuild = true,
|
||||
_ => todo!(),
|
||||
}
|
||||
}
|
||||
if rebuild {
|
||||
let painter = biome_painter.build(&biomes);
|
||||
commands.insert_resource(painter);
|
||||
}
|
||||
}
|
||||
|
||||
fn render_map_ui(
|
||||
image: Res<MapImage>,
|
||||
heightmap: Res<Map>,
|
||||
biome_map: Res<BiomeMap>,
|
||||
mut contexts: EguiContexts,
|
||||
mut state: ResMut<UIState>,
|
||||
) {
|
||||
let id = contexts.add_image(image.0.clone_weak());
|
||||
|
||||
let mut map_type = state.target_map_type;
|
||||
|
||||
Reference in New Issue
Block a user