Пример #1
0
        // Inspector 表示
        public override void OnInspectorGUI()
        {
            AssetCatalog t = this.target as AssetCatalog;
            Dictionary <string, AssetCatalog.SettingParam> dic = t.editParamDic;

            GUILayout.Space(5f);
            // Prefab 設定
            System.Array enumArray   = System.Enum.GetValues(typeof(U));
            int          objectCount = enumArray.Length;

            for (int i = 0; i < objectCount; ++i)
            {
                string key = enumArray.GetValue(i).ToString();
                AssetCatalog.SettingParam param = dic[key];
                GUILayout.BeginHorizontal();
                GUIContent content = new GUIContent(i.ToString("D3") + " " + key,
                                                    "Asset 指定");
                dic[key].origin = EditorGUILayout.ObjectField(content,
                                                              param.origin,
                                                              typeof(T),
                                                              false,
                                                              GUILayout.MinWidth(250f)) as T;
                dic[key].genCount = EditorGUILayout.IntField(param.genCount,
                                                             GUILayout.MaxWidth(100f));
                GUILayout.EndHorizontal();
            }
            if (GUI.changed || (objectCount != t.GetCatalogCount()))
            {
                t.UpdateSerializedList <U>();
                EditorUtility.SetDirty(t);
            }
        }
Пример #2
0
        // 有効時
        void OnEnable()
        {
            AssetCatalog t = this.target as AssetCatalog;

            if (t != null)
            {
                bool changed = t.CreateDictionary <U>();
                // enum が増減していたら変更されてくる
                if (changed)
                {
                    t.UpdateSerializedList <U>();
                    EditorUtility.SetDirty(t);
                }
            }
        }