Skip to content

naichilab/unityroom-client-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unityroom Client Library

unityroomのAPIを活用するためのライブラリです。

初心者の方でも手順通り導入すれば簡単に使えることを目的としています。
MITライセンスですので上級者の方は自由に改変していただくことも可能です。

できること

  • スコア送信API呼び出し

今後サーバー側のAPIとともにこのライブラリの機能も増やしていく予定です。

動作環境

  • Unity 2020.3(LTS)以上

導入方法

PackageManagerを使う方法(おすすめ)

Windowsの場合はシステムに Gitクライアント がインストールされている必要があります。
Macには最初からインストールされています。

うまくいかない場合は次のUnityPackageを使う方法をご利用ください。

  1. Window -> Package Manager
    • image
  2. "+" -> Add package from git URL...
    • image
  3. 以下のURLを入力し、Addを押します。
  4. Unityroom Client Library が導入済みとなれば成功です。
    • image
  5. C#のコードに反映されないことがあるようなので、一度Unityを再起動しておくと安心です。

UnityPackageを使う方法

  1. Releasesのページからunitypackageをダウンロードします。
  2. ダウンロードしたファイルを実行してプロジェクトにインポートします。
    • image

使い方

準備

  1. こちらの手順に従い、unityroomでの準備を済ましておきます。
  2. APIキー画面にてHMAC認証用キーをコピーします。
    • スクリーンショット 2023-05-16 1 52 19
  3. プロジェクトビューにあるプレハブ(UnityroomApiClient)をドラッグ&ドロップしてシーンに配置します。
    • プレハブの場所
      • PackageManagerから導入した場合: Projectビューの Packages -> Unityroom Client Library -> Api -> UnityroomApiClient (水色のキューブアイコン)
      • UnityPackageから導入した場合:Projectビューの Assets -> unityroom -> Api -> UnityroomApiClient (水色のキューブアイコン)
    • スクリーンショット 2023-05-16 1 48 44
  4. 配置した UnityroomApiClient のインスペクタにて Hmac Key に先ほどコピーした HMAC認証用キー を入力します。
    • スクリーンショット 2023-05-16 1 50 31

準備は以上です。

ランキングスコア送信方法

任意の場所で下記を呼び出します。

// C#スクリプトの冒頭に `using unityroom.Api;` を追加してください。

// ボードNo1にスコア123.45fを送信する。
UnityroomApiClient.Instance.SendScore(1, 123.45f, ScoreboardWriteMode.Always);
  • 1つ目の引数はボードNoです。unityroomの設定画面でスコアボード一覧画面で確認できます。
  • 2つ目の引数はスコア(float)です。
  • 3つ目の引数はスコアの記録ルールで3種類あります。unityroomで作成したスコアボードと同じ設定を選んでください。
    • HighScoreDesc:ハイスコア(降順)として記録する
    • HighScoreAsc:ハイスコア(昇順)として記録する
    • Always:ハイスコア(常に記録)として記録する

スコアはゲームオーバー時に自動送信したり、ボタンを押したときなど任意のタイミングで送信したりしてください。

ライセンス

  • MITライセンス
  • This library is under the MIT License.