私はGoogleのサーバー(Firebaseリモートコンフィグ)に送信されるC#で、次のコレクションを持っています。ユニティ - 異なる値でインスペクタを移入
私はユニティインスペクタ自体ではなく、コードの値を追加します。ご覧のように、値は任意の型(bool、string、intなど)です。
[Serializable]
public struct RemoteValueConfig {
public string key;
public object defaultValue;
}
public RemoteValueConfig[] valuesToFetch;
をしかし、「オブジェクト」タイプは、ユニティインスペクタに表示されませんので、それは、動作しません:
System.Collections.Generic.Dictionary<string, object> defaults =
new System.Collections.Generic.Dictionary<string, object>();
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);
基本的に私はこれをやりました。私は、文字列オブジェクトを必要に応じて、私は単純に文字列型で、型オブジェクトであるdefaultValue
に取って代わるだろうし、これは私の問題を解決するだろう。しかし、私は整数、浮動小数点数、文字列、ブールなどを持つことができます。
Unityインスペクタを使用するには、このシナリオで値を入力する方法と使用方法を教えてください。
ああをチェックアウト、私がやったことをやったときに、なぜ私は(私の答えを参照)ジェネリック考えていませんでした。少なくとも、それはリファクタリング可能です。 – Draco18s
hm、面白いです。私は見てみましょう。ありがとう。 – rootpanthera
@ Draco18s haha私は実際にユニティに精通していないので、私の最初の本能は「あなたのタイプをジェネリックにしています」 - 一度グーグルでグーグルで行った場合、ユニティでジェネリックスをシリアル化できないことに気が付いたのでこれが私の中間ルートでした。 –