示例#1
0
        public override void OnInspectorGUI()
        {
            DecalLimitGroupManager mgr = target as DecalLimitGroupManager;

            var limitGroups   = serializedObject.FindProperty("LimitGroups");
            int numProperties = limitGroups.arraySize;

            for (int i = 0; i < numProperties; ++i)
            {
                EditorGUILayout.BeginHorizontal();
                var prop = limitGroups.GetArrayElementAtIndex(i);
                EditorGUILayout.LabelField("Group " + (i + 1), GUILayout.Width(80));
                EditorGUILayout.PropertyField(prop, GUIContent.none);
                if (prop.objectReferenceValue == null && GUILayout.Button("+", GUILayout.Width(20)))
                {
                    var go = new GameObject("Group " + (i + 1));
                    go.transform.parent       = mgr.transform;
                    prop.objectReferenceValue = go.AddComponent <DecalLimitGroup>();
                }
                EditorGUILayout.EndHorizontal();
            }

            serializedObject.ApplyModifiedProperties();

            // TODO: Add a button here allowing to add the DECALICIOUS_MORE_LIMIT_GROUPS macro
        }
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else
     {
         Debug.LogError("There cannot be more than one instance of DecalLimitGroupManager. Destroying.");
         DestroyImmediate(this);
     }
 }