virtual public bool DrawMultiInstanceEditor(NPipeEditFlags flags, UnityEngine.Object[] objects) { UnityEditor.Editor editor = UnityEditor.Editor.CreateEditor(objects); bool changed = editor.DrawDefaultInspector(); if ((flags & NPipeEditFlags.STORAGE_MODE) == NPipeEditFlags.STORAGE_MODE) { GUILayout.BeginHorizontal(); GUILayout.Label("Storage Mode"); NPipeStorageMode newStorageMode = (NPipeStorageMode)GUILayout.Toolbar((int)storageMode, new string[] { "RAM", "RESOURCE_CACHE", "ATTACHED" }); foreach (UnityEngine.Object o in objects) { if (((NPVoxProcessorBase <PRODUCT>)o).storageMode != storageMode) { ((NPVoxProcessorBase <PRODUCT>)o).storageMode = newStorageMode; changed = true; } } if (newStorageMode != storageMode) { this.storageMode = newStorageMode; changed = true; } GUILayout.EndHorizontal(); GUILayout.Space(2f); } return(changed); }
public UnityEngine.Object SwitchStorageMode(NPipeStorageMode storageMode, UnityEngine.Object instance) { if (this.storageMode != storageMode) { // Debug.Log( " Switch storage mode from " +this.storageMode + " to " + storageMode); Destroy(instance); this.storageMode = storageMode; return(null); } return(instance); }
virtual public bool DrawInspector(NPipeEditFlags flags) { UnityEditor.Editor editor = UnityEditor.Editor.CreateEditor(this); bool changed = editor.DrawDefaultInspector(); if ((flags & NPipeEditFlags.STORAGE_MODE) == NPipeEditFlags.STORAGE_MODE) { GUILayout.BeginHorizontal(); GUILayout.Label("Storage Mode"); NPipeStorageMode newStorageMode = (NPipeStorageMode)GUILayout.Toolbar((int)storageMode, new string[] { "RAM", "RESOURCE_CACHE", "ATTACHED" }); if (newStorageMode != storageMode) { this.storageMode = newStorageMode; changed = true; } GUILayout.EndHorizontal(); GUILayout.Space(2f); } return(changed); }