Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8895

[SerializeField]属性をプリプロセッサ(#if〜#endif)で括ったらどうなるのか

$
0
0

特に理由のない意地悪がUnity2019.2.2を襲う――!!

using UnityEngine;

public class IfDefIjiwaru : MonoBehaviour
{
#if PLATFORM_STANDALONE
    [SerializeField]
    private string Ijiwaru;
#endif
}

実験

まずは対象のプラットフォームで適当に値を入れてみます。
スクリーンショット 2019-11-01 0.16.21.png
そしておもむろに対象プラットフォーム切り替え。
スクリーンショット 2019-11-01 0.17.11.png
フィールドが消えました。
スクリーンショット 2019-11-01 0.16.48.png
元のプラットフォームに戻すと、入力したはずの値が消えています。
スクリーンショット 2019-11-01 0.21.44.png
ここで諦めてはいけません。
UnityのSceneファイルはYAMLなので、Sublime Textなどのテキストエディタで開けます。
見れば値そのものは残っている様子。
スクリーンショット 2019-11-01 0.23.00.png
ということで、シーンを一度閉じて読み込み直すとこのように値が復帰しました。
スクリーンショット 2019-11-01 0.16.21.png

まとめ

そうなんだ そういうことも あるんだね


Viewing all articles
Browse latest Browse all 8895

Trending Articles