use super::input::MenuInputState; use bevy::{ camera::NormalizedRenderTarget, input_focus::{InputFocus, InputFocusVisible}, math::CompassOctant, picking::{ backend::HitData, pointer::{Location, PointerId}, }, prelude::*, ui::auto_directional_navigation::AutoDirectionalNavigator, }; use bevy_egui::egui::IntoAtoms; use std::collections::HashSet; // Action state and input handling #[derive(Debug, PartialEq, Eq, Hash)] enum DirectionalNavigationAction { Up, Down, Left, Right, Select, } impl DirectionalNavigationAction {} #[derive(Default, Resource)] pub struct UINavigationActionState { pressed_actions: HashSet, } #[derive(Default, Resource)] pub struct UINavigationRepeat { held_for: f32, repeating: bool, } #[derive(Default, Component, Clone)] pub struct NavigationDefaultFocus; pub fn process_inputs( mut action_state: ResMut, mut repeat: ResMut, menu_inputs: Res, time: Res