feat: Add context menu UI element
This commit is contained in:
@@ -15,7 +15,7 @@ pub fn spawn_popup(
|
||||
title: impl Into<String>,
|
||||
mut node: Node,
|
||||
child: impl FnOnce(&mut RelatedSpawnerCommands<ChildOf>),
|
||||
) -> impl Bundle {
|
||||
) {
|
||||
node.flex_direction = FlexDirection::Column;
|
||||
node.row_gap = px(10);
|
||||
node.padding = UiRect::all(px(20));
|
||||
@@ -68,6 +68,31 @@ pub fn spawn_popup(
|
||||
});
|
||||
}
|
||||
|
||||
pub fn spawn_context_menu(
|
||||
commands: &mut Commands,
|
||||
root: impl Component,
|
||||
position: Vec2,
|
||||
child: impl FnOnce(&mut RelatedSpawnerCommands<ChildOf>),
|
||||
) {
|
||||
commands
|
||||
.spawn((
|
||||
PopupRoot,
|
||||
root,
|
||||
Node {
|
||||
position_type: PositionType::Absolute,
|
||||
left: px(position.x),
|
||||
top: px(position.y),
|
||||
padding: UiRect::all(px(5)),
|
||||
..Node::vstack(px(5))
|
||||
},
|
||||
ZIndex(100),
|
||||
BackgroundColor(Color::srgb(0.1, 0.1, 0.1)),
|
||||
BorderRadius::all(px(5)),
|
||||
GlobalTransform::default(),
|
||||
))
|
||||
.with_children(child);
|
||||
}
|
||||
|
||||
pub fn handle_popup_close(
|
||||
mut commands: Commands,
|
||||
root_query: Query<Entity, With<PopupRoot>>,
|
||||
|
||||
Reference in New Issue
Block a user