##Unityエディター拡張でステージを作ってみる
今回はこのように3Dでステージを展開できるエディター拡張の紹介です
2019.2のバージョンでは動作確認してあります。
今回のコードはこちらになります
https://gist.github.com/rx1242/c574f5b9289293a5fce5984c59fe979a
#CSV読み込みについて
読み込みはReadCsvメソッドで行っていて
このメソッドは、読み込みボタンを押すと呼ばれます。
- EditorUtility.OpenFilePanelを使いエクスプローラーで直接CSVファイルを指定して、パスを取得してきます。
- 取得したパスを使い、StreamReaderでCSVをstringに変換します。
- stringをカンマごとに分割して、分割データの配列から行列の数値を取得。
- 二十配列に番地ごとのデータを入力していきます
#マップチップデータ
これは簡単
各マップチップのデータをスクリプタブルオブジェクトで作成したクラスに設定するだけ!
#ステージ展開
展開はApplyメソッドで行っています。
二重for文で行列ごとのデータと一致する番号のマップチップをInstantiateしていきます。
この時xyのポジションを行列と合うように移動します。
#キャンセル処理
キャンセルはRollbackメソッドで行っています。
生成したステージを削除しているだけです。
#工夫したポイント
そもそもの制作目的が15人チームでストラテジーゲームを作るときに、ステージの作成の高速化というのがあります。
複数人で使用されるだろうという前提があります。
ここで問題なのがファイル構造の問題で、人によってCSVを保存する場所が違うと予想。
EditorUtility.OpenFilePanelを使い直接保存場所からパスを取得できるようにしています。
これで使用するときにAssetsフォルダー内にCSVが無くてもOK!