Compare commits
2 Commits
227b654e50
...
f9e96cc74b
| Author | SHA1 | Date | |
|---|---|---|---|
| f9e96cc74b | |||
| 3551ecfde8 |
@@ -1,4 +1,5 @@
|
||||
use bevy::anti_alias::taa::TemporalAntiAliasing;
|
||||
use bevy::camera::visibility::RenderLayers;
|
||||
use bevy::core_pipeline::prepass::DepthPrepass;
|
||||
use bevy::input::mouse::{MouseMotion, MouseScrollUnit, MouseWheel};
|
||||
use bevy::prelude::*;
|
||||
@@ -53,8 +54,8 @@ fn setup(mut commands: Commands)
|
||||
PhosOrbitCamera::default(),
|
||||
TemporalAntiAliasing::default(),
|
||||
))
|
||||
.insert(Msaa::Off);
|
||||
// .insert(RenderLayers::layer(0))
|
||||
.insert(Msaa::Off)
|
||||
.insert(RenderLayers::default());
|
||||
|
||||
// *msaa = Msaa::Off;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
use bevy::{camera::visibility::RenderLayers, prelude::*};
|
||||
use bevy::{
|
||||
camera::{visibility::RenderLayers, CameraOutputMode, Viewport},
|
||||
prelude::*,
|
||||
render::render_resource::BlendState,
|
||||
};
|
||||
use shared::states::AssetLoadState;
|
||||
|
||||
use crate::ui::states::BuildUIState;
|
||||
pub struct BuildUIPlugin;
|
||||
|
||||
impl Plugin for BuildUIPlugin
|
||||
@@ -7,33 +13,63 @@ impl Plugin for BuildUIPlugin
|
||||
fn build(&self, app: &mut App)
|
||||
{
|
||||
app.add_systems(Startup, setup_cameras);
|
||||
app.add_systems(Update, spawn_ui.run_if(in_state(AssetLoadState::LoadComplete)));
|
||||
app.insert_state(BuildUIState::Init);
|
||||
app.add_systems(
|
||||
Update,
|
||||
spawn_ui.run_if(in_state(AssetLoadState::LoadComplete).and(in_state(BuildUIState::Init))),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
fn setup_cameras(mut commands: Commands)
|
||||
{
|
||||
commands.spawn((Camera2d, IsDefaultUiCamera, RenderLayers::layer(2)));
|
||||
commands
|
||||
.spawn((
|
||||
Camera2d,
|
||||
Camera {
|
||||
order: 1,
|
||||
clear_color: ClearColorConfig::None,
|
||||
msaa_writeback: MsaaWriteback::Always,
|
||||
// viewport: Some(Viewport {
|
||||
// physical_size: UVec2::new(800, 800),
|
||||
// ..default()
|
||||
// }),
|
||||
output_mode: CameraOutputMode::Write {
|
||||
blend_state: Some(BlendState::ALPHA_BLENDING),
|
||||
clear_color: ClearColorConfig::None,
|
||||
},
|
||||
..default()
|
||||
},
|
||||
IsDefaultUiCamera,
|
||||
))
|
||||
.insert(RenderLayers::layer(1))
|
||||
.insert(Msaa::Off);
|
||||
}
|
||||
|
||||
fn spawn_ui(mut commands: Commands)
|
||||
fn spawn_ui(mut commands: Commands, mut next_state: ResMut<NextState<BuildUIState>>)
|
||||
{
|
||||
commands
|
||||
.spawn((Node {
|
||||
width: Val::Percent(100.),
|
||||
height: Val::Percent(100.),
|
||||
justify_content: JustifyContent::Center,
|
||||
align_items: AlignItems::End,
|
||||
..default()
|
||||
},))
|
||||
.spawn((
|
||||
Node {
|
||||
width: Val::Percent(100.),
|
||||
height: Val::Percent(100.),
|
||||
justify_content: JustifyContent::Center,
|
||||
align_items: AlignItems::End,
|
||||
..default()
|
||||
},
|
||||
RenderLayers::layer(1),
|
||||
))
|
||||
// .insert(PickingBehavior::IGNORE)
|
||||
.with_children(|parent| {
|
||||
parent.spawn((
|
||||
Node {
|
||||
width: Val::Px(500.),
|
||||
height: Val::Px(100.),
|
||||
..Default::default()
|
||||
},
|
||||
BackgroundColor(LinearRgba::GREEN.into()),
|
||||
));
|
||||
});
|
||||
|
||||
next_state.set(BuildUIState::Update);
|
||||
}
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
pub mod build_ui;
|
||||
pub mod states;
|
||||
|
||||
9
game/main/src/ui/states.rs
Normal file
9
game/main/src/ui/states.rs
Normal file
@@ -0,0 +1,9 @@
|
||||
use bevy::prelude::*;
|
||||
|
||||
#[derive(States, Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub enum BuildUIState
|
||||
{
|
||||
Init,
|
||||
Update,
|
||||
Cleanup,
|
||||
}
|
||||
@@ -1,7 +1,8 @@
|
||||
use bevy::prelude::*;
|
||||
|
||||
#[derive(States, Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub enum MenuState {
|
||||
pub enum MenuState
|
||||
{
|
||||
Loading,
|
||||
Startup,
|
||||
MainMenu,
|
||||
@@ -10,14 +11,16 @@ pub enum MenuState {
|
||||
}
|
||||
|
||||
#[derive(States, Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub enum GameplayState {
|
||||
pub enum GameplayState
|
||||
{
|
||||
Waiting,
|
||||
PlaceHQ,
|
||||
Playing,
|
||||
}
|
||||
|
||||
#[derive(States, Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub enum AssetLoadState {
|
||||
pub enum AssetLoadState
|
||||
{
|
||||
Loading,
|
||||
FinalizeAssets,
|
||||
LoadComplete,
|
||||
|
||||
Reference in New Issue
Block a user