mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-01 03:22:07 +08:00
raylib: onroad callback setter (#35493)
* onroad callback setter * fix name
This commit is contained in:
@@ -41,7 +41,7 @@ class MainLayout(Widget):
|
||||
self._sidebar.set_callbacks(on_settings=self._on_settings_clicked,
|
||||
on_flag=self._on_flag_clicked)
|
||||
self._layouts[MainState.SETTINGS].set_callbacks(on_close=self._set_mode_for_state)
|
||||
self._layouts[MainState.ONROAD].on_click = self._on_onrad_clicked
|
||||
self._layouts[MainState.ONROAD].set_callbacks(on_click=self._on_onroad_clicked)
|
||||
|
||||
def _update_layout_rects(self, rect):
|
||||
self._window_rect = rect
|
||||
@@ -71,7 +71,7 @@ class MainLayout(Widget):
|
||||
def _on_flag_clicked(self):
|
||||
pass
|
||||
|
||||
def _on_onrad_clicked(self):
|
||||
def _on_onroad_clicked(self):
|
||||
self._sidebar_visible = not self._sidebar_visible
|
||||
|
||||
def _render_main_content(self):
|
||||
|
||||
@@ -50,7 +50,10 @@ class AugmentedRoadView(CameraView):
|
||||
self.driver_state_renderer = DriverStateRenderer()
|
||||
|
||||
# Callbacks
|
||||
self.on_click: Callable | None = None
|
||||
self._click_callback: Callable | None = None
|
||||
|
||||
def set_callbacks(self, on_click: Callable | None = None):
|
||||
self._click_callback = on_click
|
||||
|
||||
def _render(self, rect):
|
||||
# Only render when system is started to avoid invalid data access
|
||||
@@ -99,9 +102,9 @@ class AugmentedRoadView(CameraView):
|
||||
|
||||
# Handle click events if no HUD interaction occurred
|
||||
if not self._hud_renderer.handle_mouse_event():
|
||||
if self.on_click and rl.is_mouse_button_pressed(rl.MouseButton.MOUSE_BUTTON_LEFT):
|
||||
if self._click_callback and rl.is_mouse_button_pressed(rl.MouseButton.MOUSE_BUTTON_LEFT):
|
||||
if rl.check_collision_point_rec(rl.get_mouse_position(), self._content_rect):
|
||||
self.on_click()
|
||||
self._click_callback()
|
||||
|
||||
def _draw_border(self, rect: rl.Rectangle):
|
||||
border_color = BORDER_COLORS.get(ui_state.status, BORDER_COLORS[UIStatus.DISENGAGED])
|
||||
|
||||
Reference in New Issue
Block a user