Unityメモ。
C#では、#defineで定義をするときはファイルの先頭に書かないといけない。
usingなどよりも先に、文字通り先頭。
そうでないと、
error CS1032: Cannot define or undefine preprocessor symbols after first token in file
が発生します。
要は構文解析が始まる前に、ということですかね。
同じプリプロセッサディレクティブの、#ifなんかとは混ぜてもOKなので、
#if HOGE #define HOGEHOGE #endif
みたいな、#ifで判定して#define、ということはもちろん可能です。
エラーの内容的にも書いてあることそのままなんですが、C/C++のdefineの間隔でいると、usingとclassの間に書いていたりして地味に首を傾げることになったりします。しませんか。