nirasan's tech blog

趣味や仕事の覚え書きです。Linux, Perl, PHP, Ruby, Javascript, Android, Cocos2d-x, Unity などに興味があります。

Unity でマスターデータを Excel で管理する

はじめに

  • Unity-Excel-Importer-Maker というライブラリを使用して、Unity でマスターデータを Excel を使って管理する方法を確認したメモ。

Unity-Excel-Importer-Maker のインストール

Excel ファイルの準備

  • 動作確認のための Excel ファイルを準備する
    • ファイル名「Monster.xls」
    • シート名「Monster」
    • シートの中身は以下の通り
id name hp
1 赤鬼 10
2 青鬼 20

Excel ファイルの取り込み

  • Project ビューで、Resources/Data というディレクトリを作成
  • 作成したディレクトリ以下に Excel ファイルをドラッグアンドドロップ
  • Excel ファイルを右クリックし「XLS Import Settings...」を選択
  • インポート設定ウィンドウが表示される
    • クラス名が "Entity_Monster" というシート名を反映したものになるので、必要であれば変更
    • チェックボックス "sepalate sheet" にチェックを入れる
    • 数値型はデフォルトで double になるので、必要であれば int などに変更
    • "create" ボタン押下で、Terasurware/Classes 以下にインポート用ファイルと Excel 用クラスファイルが生成される
  • もう一度 Excel ファイルを右クリックして「XLS Import Settings...」で Excel ファイルと同じディレクトリにデータファイルが作成される

データの使用方法

Entity_Monster entityMonster = Resources.Load ("Data/Monster") as Entity_Monster; //=> Resourcesからデータファイルの読み込み
Debug.Log (entityMonster.param.Count); //=> 2
Debug.Log (entityMonster.param[0].id); //=> 1
Debug.Log (entityMonster.param[0].name); //=> 赤鬼
Debug.Log (entityMonster.param[1].id); //=> 2
Debug.Log (entityMonster.param[1].name); //=> 青鬼

データの更新

  • Excel ファイルを直接開いて更新すると、そのまま反映される
  • 構造やファイルの置き場所をかえた場合は、都度「XLS Import Settings...」を実行する