Unity

Після публікації миттєвої або турнірної гри її можна інтегрувати в мобільний додаток або гру, створену за допомогою Unity.

Огляд

Клас WindayWrapper надає функціонал для відображення та взаємодії з контентом у Unity за допомогою WebView.

Він дозволяє завантажувати веб-сторінки, обробляти події та спілкуватися з контентом за допомогою JavaScript.

Налаштування

  1. Завантажте Winday Unity Plugin.

  2. Установіть плагін і перемкніть випадаюче меню Internet Access: Required у Project settings.

Конструктор

WindayWrapper()

Опис: ініціалізує WebView та налаштовує обробники подій.

Приклад:

WindayWrapper webView = new WindayWrapper();

Методи

1. Subscribe(string eventName, Action callback)

Опис: Підписується на подію, яка не передає жодних даних. Зворотний виклик буде виконано, коли спрацює подія.

Параметри:

  • eventName: Назва події для прослуховування.

  • callback: Дія, яка виконується під час ініціювання події.

Приклад:

webView.Subscribe("exit-mobile-plugin", () => { Debug.Log("Exiting the mobile plugin."); });

2. Subscribe<T>(string eventName, Action<T> callback) where T : class

Опис: Підписка на подію, яка передає дані. Зворотний виклик отримає дані, пов’язані з подією.

Параметри:

  • eventName: Назва події.

  • callback: Дія, яка виконується під час ініціювання події, отримання даних типу T.

Приклад:

webView.Subscribe<GameColors>("winday-game-colors", (colors) => { Debug.Log($"Colors received: Yellow - {colors.yellow}, Blue - {colors.blue}, Red - {colors.red}, Green - {colors.green}, Purple - {colors.purple}"); });

3. Unsubscribe(string eventName)

Опис: Скасовує підписку на попередньо підписану подію, видаляючи всі зворотні виклики, пов’язані з подією.

Параметр:

  • eventName: Назва події, від якої потрібно скасувати підписку.

Приклад:

webView.Unsubscribe("exit-mobile-plugin");

4. SetVisible(bool visible)

Опис: Встановлює видимість WebView. Коли WebView відображається, він інтерактивний.

Параметр:

  • visible: true, щоб зробити WebView видимим, false, щоб приховати його.

Приклад:

webView.SetVisible(true);  // Shows the WebView

5. LoadPage(string url)

Опис: Завантажує веб-сторінку в WebView за допомогою вказаної URL-адреси.

Параметр:

  • url: URL-адреса веб-сторінки для завантаження.

Приклад:

webView.LoadPage("https://winday.club/games/VMPWRL3Y?isMobile=true");

6. SetMargins(int left, int top, int right, int bottom, bool relative = false)

Опис: Встановлює поля WebView, визначаючи його розташування на екрані.

Параметри:

  • left: Ліве поле в пікселях.

  • top: Верхнє поле в пікселях.

  • right: Праве поле в пікселях.

  • bottom: Нижнє поле в пікселях.

  • relative: Якщо значення true, поля визначаються у відсотках від розміру екрана; інакше вони в пікселях.

Приклад:

webView.SetMargins(10, 10, 10, 10);  // Set 10px margins on all sides

7. OnPageStartLoading

Опис: Ця подія запускається, коли нова веб-сторінка починає завантажуватися в WebView. Він надає URL-адресу сторінки, яка починає завантажуватися.

Приклад:

// Instantiate the WindayWrapper
WindayWrapper webViewWrapper = new WindayWrapper();

// Subscribe to the OnPageStartLoading event
webViewWrapper.OnPageStartLoading += (url) =>
{
    Debug.Log($"Page is starting to load: {url}");
};

// Load a new page
webViewWrapper.LoadPage("https://example.com");

8. OnPageLoaded

Опис: Ця подія запускається, коли веб-сторінка успішно завантажується. Він також надає URL-адресу завантаженої сторінки.

Приклад:

// Subscribe to the OnPageLoaded event
webViewWrapper.OnPageLoaded += (url) =>
{
    Debug.Log($"Page has finished loading: {url}");
    webViewWrapper.Show();
};

// Load a new page
webViewWrapper.LoadPage("https://example.com");

9. OnClosed

Опис: Ця подія спрацьовує, коли WebView знищується або закривається. Це сигналізує про те, що WebView більше не активний і його видалено зі сцени.

Приклад:

// Subscribe to the OnClosed event
webViewWrapper.OnСlosed += () =>
{
    Debug.Log("WebView has been closed.");
};

// Destroy the WebView
webViewWrapper.Destroy();

Приклади Подій

exit-mobile-plugin

Опис: Запускається, коли користувач хоче вийти з мобільного плагіна.

Приклад:

webView.Subscribe("exit-mobile-plugin", () => { Debug.Log("Exiting mobile plugin."); });

winday-game-win

Опис: Запускається, коли користувач виграє гру.

Приклад:

webView.Subscribe("winday-game-win", () => { Debug.Log("Player has won the game!"); });

winday-game-lose

Опис: Запускається, коли користувач програє гру.

Приклад:

webView.Subscribe("winday-game-lose", () => { Debug.Log("Player has lost the game."); });

winday-game-tutorial-start

Опис: Запускається, коли починається туторіал.

Приклад:

webView.Subscribe("winday-game-tutorial-start", () => { Debug.Log("Tutorial has started."); });

winday-game-tutorial-complete

Опис: Запускається, коли туторіал завершено.

Приклад:

webView.Subscribe("winday-game-tutorial-complete", () => { Debug.Log("Tutorial is complete."); });

winday-game-colors

Опис: Запускається, коли надсилаються дані кольору гри.

Приклад:

webView.Subscribe<GameColors>("winday-game-colors", (colors) => { Debug.Log($"Colors: Yellow - {colors.yellow}, Blue - {colors.blue}, Red - {colors.red}, Green - {colors.green}, Purple - {colors.purple}"); });

Last updated

Was this helpful?