じょーちょー
ザックリ言うと、書いてたコードが冗長すぎて、An expression is too long or complex to compile なるエラーが出たんですよ。
なんですけど、最終的にはテキストファイルを読み込む形で解決出来ました。
えー、これだけだと味気ないので、ブログも冗長に書いていきたいと思います。
今から思えば、非常にセンスのないコードを書いてたんですよ。
学習アプリで任意の単語を返すコードなんですが、こんなのを書いてました。
引数を指定すると、それに対応した文字列を返す、みたいな。
今日までわりとこんなの書いてたんですけど、これがめっちゃ長くなってしまったんですよね。
お恥ずかしながら、1000を超えて1500、、、んで韓国語と日本語のダブルだから3000超えて、、、
まあめっちゃ書いてしまったわけですよ。
そしたらAn expression is too long or complex to compileってエラーが出て動かないんですよね。
Unityでビルド出来なくなってしまいました。
途中から薄々感づいてたんですが、コードが冗長すぎる。
どう考えてもアプローチがおかしいことに気付いたので、どうするのか考えました。
んで、結論はテキストファイルの読み込みですよ。
なんか風の噂では聞いてたんですよね。テキストファイル読み込めるって。
なので、あれこれググってみたら、テクノモンキーさんのブログがヒット。
【Unity】テキストファイルを読み込む方法 - テクノモンキーのアプリ開発日記
このコードを丸パクリさせていただいたら、バッチリでしたよ。
コードの意味は2割くらいしか分かりませんが、元気に動いてくれました。
テキストファイルの文字列を改行で区切って、Listに格納。
あとはこんな感じで、任意の文字列を返せるようになりました。
しかしこれあれなんですよね。
元々はテキストファイルに書いてあったんですよ。
テキストファイルに書く→C#にコピペ、なんてことをしてたんですが、このコピペ作業が全て無駄だった。
てかこの無駄を今日まで相当やってきた模様です。
「これ面倒くさくね?」って作業があったら、大体アプローチが間違ってるんですよね。
そういう直感を信じて、ビシバシ手抜きの方法を探さないとダメだなと思いました。
P.S.
今回のことで知ったんですが、Unityって色んな形式のファイルを読み込めるんですね。
.txt
.html
.htm
.xml
.bytes
.json
.csv
.yaml
.fnt
正直、知ってるのは上2つしかないんですが、jsonとcsvはいずれ使う気がします。
サーバーと接続して、あれこれする際にjsonてやつを使った気がするんですよ。
UnityとMySQLが繋がった - ホーリーのプログラミング日記
PHPで取得したデータをjsonに変換して、それをC#、つまりUnity側に渡してた気がします。
よく知らないんですけど、jsonやつは便利屋なんですよね。だから、いずれどこかで縁があるでしょう。
またcsvなんですけど、これもどこかで縁があるはず。
これこそ、今日までの人生で一度も使ったことないんですよ。
噂は聞いてますよ。隣町の中学にcsvってやつがいて、相当喧嘩が強いらしいみたいな。
しかもなんなら県下最大の暴走族、Excelと仲が良くて、ちょいちょい集会に顔出してることも知ってます。
でも、今日まで縁はなかったんですよ。
「会ったらバチバチにいわしてやんよ」みたいなことを言いながら、本当はビビって逃げ回っておりました。
でもまあ、どこかで会うことにはなるでしょう。
Excelもcsvも未知ですが、どこかで出くわして、バッチバチにやられるはずです。