コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】【Cross Platform Native Plugins】ダイアログやトーストを表示する方法

アセット

使い方

ボタン1つのダイアログ

NPBinding.UI.ShowAlertDialogWithSingleButton
(
    _title          : "タイトル",
    _message        : "メッセージ",
    _button         : "OK",
    _onCompletion   : buttonText => Debug.Log( buttonText )
);

f:id:baba_s:20181223162640p:plain

ボタン2つのダイアログ

NPBinding.UI.ShowAlertDialogWithMultipleButtons
(
    _title          : "タイトル",
    _message        : "メッセージ",
    _buttons        : new [] { "キャンセル", "OK" },
    _onCompletion   : buttonText => Debug.Log( buttonText )
);

f:id:baba_s:20181223162644p:plain

入力欄付きのダイアログ

NPBinding.UI.ShowSingleFieldPromptDialogWithPlainText
(
    _title          : "タイトル",
    _message        : "メッセージ",
    _placeholder    : "ユーザー名",
    _buttons        : new [] { "キャンセル", "OK" },
    _onCompletion   : ( buttonText, username ) =>
    {
        Debug.Log( buttonText + " : " + username );
    }
);

f:id:baba_s:20181223162648p:plain

パスワード入力欄付きのダイアログ

NPBinding.UI.ShowSingleFieldPromptDialogWithSecuredText
(
    _title          : "タイトル",
    _message        : "メッセージ",
    _placeholder    : "パスワード",
    _buttons        : new [] { "キャンセル", "OK" },
    _onCompletion   : ( buttonText, password ) =>
    {
        Debug.Log( buttonText + " : " + password );
    }
);

f:id:baba_s:20181223162653p:plain

ユーザー名・パスワード入力欄付きのダイアログ

NPBinding.UI.ShowLoginPromptDialog
(
    _title                  : "タイトル",
    _message                : "メッセージ",
    _usernamePlaceHolder    : "ユーザー名",
    _passwordPlaceHolder    : "パスワード",
    _buttons                : new [] { "キャンセル", "OK" },
    _onCompletion           : ( buttonText, username, password ) =>
    {
        Debug.Log( buttonText + " : " + username + " : " + password );
    }
);

f:id:baba_s:20181223162816p:plain

トースト表示

// 短時間
NPBinding.UI.ShowToast( "ピカチュウ", eToastMessageLength.SHORT );

// 長時間
NPBinding.UI.ShowToast( "ピカチュウ", eToastMessageLength.LONG );

f:id:baba_s:20181223162717p:plain