HVoid
Полная документация
Введение
HVoid - это профессиональный инструмент для управления асинхронными операциями в Unity. Он позволяет легко:
Выполнять задачи в фоновых потоках
Работать с главным потоком Unity
Отменять операции
Отслеживать прогресс задач
Запускать корутины из любого потока
Преимущества HVoid:
Простота использования (минимальный порог входа)
Высокая производительность
Безопасная работа с потоками
Интеграция с жизненным циклом Unity
Установка
Поместите его в папку
Assets/PluginsГотово! Система автоматически инициализируется
Быстрый старт
Пример 1: Простая фоновая задача
Основные функции
1. Работа с главным потоком
HVoid.Main()
Выполняет код в главном потоке Unity. Обязательно используйте для работы с Unity API.
HVoid.MainAsync()
Выполняет код в главном потоке и возвращает Task для ожидания.
2. Фоновые задачи
HVoid.Background()
Запускает метод в фоновом потоке.
HVoid.Background() с прогрессом
3. Отменяемые задачи
HVoid.CancellableBackground()
Создает задачу, которую можно отменить.
4. Отложенные действия
HVoid.Delayed()
Выполняет действие через указанное время.
Продвинутые сценарии
Пример: Загрузка данных с сервера
Пример: Параллельная обработка
Пример: Генерация мира
Лучшие практики
1. Всегда проверяйте отмену в длительных операциях
2. Минимизируйте вызовы главного потока
Когда что выбирать?
Используйте
HVoid.Main()когда:Нужно просто выполнить действие на главном потоке
Не важно, когда именно выполнится операция
Делаете единичные простые операции
Используйте
HVoid.MainAsync()когда:Нужно дождаться завершения операции
Работаете с async/await
Строите цепочки последовательных операций
Требуется гарантия выполнения перед продолжением кода
Производительность
Main()немного эффективнее для единичных операцийДля групповых операций лучше использовать один вызов
MainAsync()вместо несколькихMain()
3. Используйте async/await для цепочек задач
Часто задаваемые вопросы
В: Безопасно ли использовать Unity API в фоновом потоке?
О: Нет! Все операции с Unity API должны выполняться через:
HVoid.Main()HVoid.MainAsync()HVoid.MainCoroutine()
В: Как обрабатывать ошибки в фоновых задачах?
csharpCopyDownload
В: Как отменить все задачи при выходе из игры?
О: HVoid автоматически отменяет все задачи при завершении работы приложения.
Заключение
HVoid предоставляет мощные и простые инструменты для работы с асинхронным кодом в Unity. С его помощью вы можете:
Упростить сложную многопоточную логику
Улучшить производительность вашей игры
Создавать плавные и отзывчивые интерфейсы
Легко управлять длительными операциями
Реализовывать сложные сценарии загрузки
Для новичков рекомендуется начать с простых примеров из раздела "Быстрый старт", постепенно переходя к более сложным сценариям.
Last updated
Was this helpful?