Даже если ваш вопрос довольно широкий ...
Да, есть!
Вы можете использовать UnityWebRequest
так, как вы обычно не : без сопрограммы. Во время открытия и закрытия редактора это, вероятно, не так уж и плохо, если во время веб-запроса есть небольшая задержка, поэтому мы можем использовать простой блокирующий вызов в этом конкретном случае использования c.
Так что просто подождите его до фини sh в обычном while
л oop. Я только что создал пример, используя простые UnityWebRequest.Get
для некоторых случайных изображений в Google, но вы можете легко заменить его на более сложный UnityWebRequest.Post
.
Просто запустите запрос на открытие через InitializeOnLoadMethod
, а также зарегистрируйте обратный вызов на EditorApplication.wantsToQuit
, чтобы вызвать запрос на закрытие, когда Unity пытаются закрыть. Таким образом, редактор может быть закрыт только в том случае, если обратный вызов для EditorApplication.wantsToQuit
вернул true
.
Убедитесь, что этот файл помещен в папку с именем Editor
.
*. 1036 *
Примечание: В настоящее время редактор не может быть закрыт обычным способом в случае сбоя запроса на закрытие, поэтому вы можете настроить его в соответствии со своими потребностями. Если, например, результат запроса на закрытие не так важен, вы можете вместо этого добавить простой void
в качестве обратного вызова к EditorApplication.quitting
.
Как небольшую демонстрацию, что он Здесь вы можете увидеть, что при открытии проекта Assets/StreamingAssets/open.txt
создается.
Когда я закрываю проект, Assets/StreamingAssets/open.txt
удаляется и вместо него создается Assets/StreamingAssets/closed.txt
.