CRIWARE for C#
Blazor編01. プラグインの導入

CRIWARE for C# は、dotnet/Unityで利用可能なCRIWAREプラグインです。

本チュートリアルでは、dotnetで利用する例としてBlazor WebAssemblyプロジェクトへの導入を説明します。

用意するもの

  • Visual Studio 2022
  • Blazor WebAssemblyプロジェクト

Blazorは、C#と.NETを利用してアプリを構築できるWeb UIフレームワークです。

その中でも、サーバーサイドで動作するBlazor Web Appと、ブラウザ内で動作するBlazor WebAssemblyが存在します。

CRIWARE for C#が対応しているのはBlazor WebAssemblyプロジェクトです。

本チュートリアルでは「Blazor WebAssembly Standalone App」テンプレートで作成した新規プロジェクトをベースに解説します。

CRIWARE for C# のエディション

LE版

無償で利用可能なライトエディションです。

ADX LEを使用したコンテンツを配信するには、いくつかの条件を満たす必要があります。

詳細は下記のページをご覧ください。

Pro版

ADX LEの利用条件に当てはまらない場合やより多くの機能を利用したい場合は、Pro版をお申し込みください。

試用申し込みフォーム:http://www.cri-mw.co.jp/contact/game.html

CRIWARE for C# の導入

Visual StudioでNuGet パッケージ マネージャーを利用してパッケージを導入します。

  • [プロジェクト]->[NuGet パッケージの管理]

LE版の場合

CriWare.CriAtomLEをインストールしてください。

'cri adx'と検索してみましょう。

Pro版の場合

NuGet パッケージ マネージャーのオプションを開き、SDKパッケージ内のpackages/nugetディレクトリをパッケージソースとして登録してください。

そのうえで、3つのパッケージを導入してください。

  • CriWare.CriBase
  • CriWare.CriFs
  • CriWare.CriAtom

複数の開発環境でプロジェクトを利用する場合、MS Buildプロパティとして追加のソースを指定することをオススメします。

詳細はオンラインマニュアルをご参照ください。

AOTコンパイルの有効化

CRIWARE for C#をWebプラットフォームで利用するには、AOTコンパイルを有効にする必要があります。

作成したプロジェクト内の.csprojを編集してRunAOTCompilationプロパティを追加しましょう。

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>

    <!-- 追加 -->
    <RunAOTCompilation>true</RunAOTCompilation>
  </PropertyGroup>

プロパティを追加できたら準備完了です。

次は実際にCRIWAREのAPIを呼び出してみましょう。

CRIWARE for C# のAPI呼び出し

プロジェクトに正しく導入できたか、CRIWAREのAPIを呼び出して確認してみましょう。

Home.razorを次のように編集してください。

@page "/"
@using CriWare

<PageTitle>CRI ADX Tutorial</PageTitle>

<h1>@CriAtom.GetVersionString()</h1>

ここでやっていることは2点です

  1. @using CriWareの宣言
    • 名前空間のフル修飾を省略できます
  2. ADXのバージョンを取得してh1タグとしてレンダリング
    • @に続く部分がC#コードです

F5キーを押して実行してください。

(プロパティの追加前にビルドを行っていた場合、ソリューション/プロジェクトのクリーンが必要な場合があります)

バージョンが表示されればOKです!

まとめ

本チュートリアルでは、Blazor WebAssemblyプロジェジェクトへのプラグイン導入方法を解説しました。

次回のチュートリアルでは、CRI ADX向けの独自形式データのロードを解説します。

author:久田