Preview still works... not sure what I was working on...

main
Elijah Voigt 2 years ago
parent d887f49c7b
commit 0129f1e41d

@ -1 +1,10 @@
This is a placeholder monologue Voluptatem culpa quo quia alias minima amet. Consequatur fugit et vitae qui dolor. Aut ea dolorum dicta quas ex et recusandae et. Nostrum eos quia quis est consequuntur.
Ratione facilis aliquid et. Dolores expedita magni suscipit minima. Voluptatem in pariatur vitae laboriosam aliquam non ducimus. Laudantium illum provident et libero assumenda et sunt similique. Corporis tenetur repellat enim perferendis ut minus omnis.
Blanditiis vitae quae ut ipsum consequatur. Ratione dignissimos exercitationem autem accusamus. Qui molestiae ipsam pariatur quis amet quia voluptate sunt. In voluptate dolorum in quia. Sit ut non voluptatem qui placeat quis. Ducimus ipsa adipisci eligendi dolor id.
Ex totam nam laudantium quis. Omnis saepe mollitia eligendi unde rerum. Odit voluptatum repellat rem est iure neque saepe.
Nulla est consequatur sint amet nesciunt quam. Qui fuga excepturi veritatis quia. Saepe natus et enim eveniet voluptates velit quod sint. Dolores reprehenderit eligendi aut. Et voluptate ea aliquam.

@ -1,4 +1,4 @@
// Monologue Trees Editor // Monologe Trees Editor
// //
// Editor for creating Monologue Trees levels // Editor for creating Monologue Trees levels
// //
@ -81,6 +81,7 @@ fn main() {
play_animation, play_animation,
play_audio, play_audio,
show_preview_text, show_preview_text,
sync_monologue_font,
), ),
) )
.run(); .run();
@ -1054,20 +1055,15 @@ mod monologues {
// TODO(BUG): Better handle hide/close monologue // TODO(BUG): Better handle hide/close monologue
pub fn show_preview_text( pub fn show_preview_text(
show: Query<Entity, (With<Button>, Added<ui::Active>)>, added: Query<Entity, (With<Button>, Added<ui::Active>)>,
mut removed: RemovedComponents<ui::Active>, mut removed: RemovedComponents<ui::Active>,
monologue_handles: Query<&ui::TargetAsset<Monologue>>, monologue_handles: Query<&ui::TargetAsset<Monologue>>,
monologues: Res<Assets<Monologue>>, monologues: Res<Assets<Monologue>>,
container: Query<Entity, With<MonologueContainer>>, container: Query<Entity, With<MonologueContainer>>,
mut commands: Commands, mut commands: Commands,
) { ) {
removed added
.iter() .iter()
.filter_map(|entity| monologue_handles.get(entity).ok())
.for_each(|_| {
commands.entity(container.single()).despawn_descendants();
});
show.iter()
.filter_map(|entity| monologue_handles.get(entity).ok()) .filter_map(|entity| monologue_handles.get(entity).ok())
.for_each(|ui::TargetAsset { handle }| { .for_each(|ui::TargetAsset { handle }| {
let monologue = monologues.get(handle).expect("Preview loaded monologue"); let monologue = monologues.get(handle).expect("Preview loaded monologue");
@ -1085,7 +1081,6 @@ mod monologues {
flex_direction: FlexDirection::Column, flex_direction: FlexDirection::Column,
..default() ..default()
}, },
background_color: Color::WHITE.into(), background_color: Color::WHITE.into(),
border_color: Color::BLACK.into(), border_color: Color::BLACK.into(),
..default() ..default()
@ -1115,17 +1110,35 @@ mod monologues {
}, },
ui::Sorting(0), ui::Sorting(0),
)); ));
parent.spawn(TextBundle::from_section( parent.spawn((
monologue.text.clone(), TextBundle::from_section(
TextStyle { monologue.text.clone(),
color: Color::BLACK.into(), TextStyle {
..default() color: Color::BLACK.into(),
}, font_size: 16.0,
..default()
},
),
handle.clone(),
)); ));
}); });
}); });
}) })
} }
// TODO: Sync Handle<Monologue> and TextStyle components to automagically generate and sync text
pub fn sync_monologue_font(
events: Query<&ui::TargetAsset<Font>, Added<ui::Active>>,
mut texts: Query<&mut Text, With<Handle<Monologue>>>,
) {
events.iter().for_each(|ui::TargetAsset { handle }| {
texts.iter_mut().for_each(|mut text| {
text.sections.iter_mut().for_each(|section| {
section.style.font = handle.clone();
});
});
});
}
} }
use cameras::*; use cameras::*;

@ -31,10 +31,10 @@ impl Plugin for GameUiPlugin {
fn build(&self, app: &mut App) { fn build(&self, app: &mut App) {
app.add_event::<Alert>() app.add_event::<Alert>()
.add_systems(Startup, init_alerts) .add_systems(Startup, init_alerts)
.add_systems(PreUpdate, create_titles)
.add_systems( .add_systems(
Update, Update,
( (
create_titles,
manage_titles, manage_titles,
manage_button_interaction, manage_button_interaction,
manage_select_active, manage_select_active,
@ -300,19 +300,19 @@ mod collapse {
collapses: Query<&Collapse, With<Button>>, collapses: Query<&Collapse, With<Button>>,
mut styles: Query<&mut Style>, mut styles: Query<&mut Style>,
) { ) {
// Added collapse, display the target entity // Removed collapse, hide the target entity
added.iter().for_each(|e| { removed.iter().for_each(|e| {
if let Ok(Collapse { target }) = collapses.get(e) { if let Ok(Collapse { target }) = collapses.get(e) {
if let Ok(mut style) = styles.get_mut(*target) { if let Ok(mut style) = styles.get_mut(*target) {
style.display = Display::Flex; style.display = Display::None;
} }
} }
}); });
// Removed collapse, hide the target entity // Added collapse, display the target entity
removed.iter().for_each(|e| { added.iter().for_each(|e| {
if let Ok(Collapse { target }) = collapses.get(e) { if let Ok(Collapse { target }) = collapses.get(e) {
if let Ok(mut style) = styles.get_mut(*target) { if let Ok(mut style) = styles.get_mut(*target) {
style.display = Display::None; style.display = Display::Flex;
} }
} }
}); });
@ -361,14 +361,14 @@ mod buttons {
mut removed_active: RemovedComponents<Active>, mut removed_active: RemovedComponents<Active>,
mut bg_colors: Query<&mut BackgroundColor>, mut bg_colors: Query<&mut BackgroundColor>,
) { ) {
added_active.for_each(|e| { removed_active.iter().for_each(|e| {
if let Ok(mut bg_color) = bg_colors.get_mut(e) { if let Ok(mut bg_color) = bg_colors.get_mut(e) {
*bg_color = Color::ORANGE.into(); *bg_color = Color::WHITE.into();
} }
}); });
removed_active.iter().for_each(|e| { added_active.for_each(|e| {
if let Ok(mut bg_color) = bg_colors.get_mut(e) { if let Ok(mut bg_color) = bg_colors.get_mut(e) {
*bg_color = Color::WHITE.into(); *bg_color = Color::ORANGE.into();
} }
}); });
events.for_each(|(entity, interaction, active)| { events.for_each(|(entity, interaction, active)| {

Loading…
Cancel
Save