wieso traced du nicht einfach im on_click Event selbst oder benutzt sowas:
Code:
if (mouse_left)
{
  while (mouse_left) wait(1);
  vec_for_screen(temp, vector(mouse_pos.x, mouse_pos.y, 0));
  VECTOR temp2;
  vec_set(temp2, vector(10000, 0, 0));
  vec_rotate(temp2, camera.pan);
  vec_add(temp2, temp);
  c_trace(temp, temp2, ...);
  if (dein panelobjekt getroffen)
  {
    vec_sub(target, panel_object.x);
    vec_set(temp, panel_object.pan);
    vec_inverse(temp);
    vec_rotate(target, temp);
    //jetzt dürfte target relative 2D Coordinaten auf dem Objekt aka Panel enthalten
    //und du musst nur noch auf die relative Größe skalieren
  }
}




I <3 LINQ