Единство EditorWindow # Фокус не может вызвать OnFocus - PullRequest
0 голосов
/ 13 октября 2018

вот мой код:

public class RoEditorWindow : EditorWindow
{
    private static RoEditorWindow win;

    [MenuItem("Window/Ro Editor Window %g")]
    static void St()
    {
        if (!win)
        {
            win = EditorWindow.GetWindow<RoEditorWindow>();
        }
        else
        {
            Debug.Log("Run focus");
            win.Focus();
        }
    }

    private void OnFocus()
    {
        Debug.Log("win focus");
    }
}

посмотрите мой gif, если я использую щелчок мышью на другой выигрыш и нажимаю на мой выигрыш, OnFocus будет работать, но если я использую ярлык "ctrl + g", кодDebug.Log("Run focus") выполняется, но #OnFocus не срабатывает (см. Вывод моей консоли редактора gif unity) enter image description here

плохо, если win # focus не может сфокусироваться, клавиша RoEditorWindow # OnGUIСлушатель не будет работать

, так как сконцентрировать окно редактора в скрипте, например, щелкнуть окно редактора

моя версия редактора единства - 2017.4.10 в linux

1 Ответ

0 голосов
/ 13 октября 2018

OnFocus - это событие, вызываемое, когда окно получает фокус .Он не вызывается всякий раз, когда вы вызываете Фокус.В вашем примере окно уже имеет фокус при вызове Focus, поэтому OnFocus не вызывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...