public AudioMixerEffectController CopyEffect(AudioMixerEffectController sourceEffect) { var copiedEffect = new AudioMixerEffectController(sourceEffect.effectName); copiedEffect.name = sourceEffect.name; copiedEffect.PreallocateGUIDs(); MixerParameterDefinition[] paramDefs = MixerEffectDefinitions.GetEffectParameters(sourceEffect.effectName); float value; foreach (var s in snapshots) { if (s.GetValue(sourceEffect.GetGUIDForMixLevel(), out value)) { s.SetValue(copiedEffect.GetGUIDForMixLevel(), value); } foreach (var p in paramDefs) { if (s.GetValue(sourceEffect.GetGUIDForParameter(p.name), out value)) { s.SetValue(copiedEffect.GetGUIDForParameter(p.name), value); } } } AssetDatabase.AddObjectToAsset(copiedEffect, this); return(copiedEffect); }
public AudioMixerGroupController CreateNewGroup(string name, bool storeUndoState) { var group = new AudioMixerGroupController(this); group.name = name; group.PreallocateGUIDs(); var effect = new AudioMixerEffectController("Attenuation"); AddNewSubAsset(effect, storeUndoState); effect.PreallocateGUIDs(); group.InsertEffect(effect, 0); AddNewSubAsset(group, storeUndoState); return(group); }
public void CreateDefaultAsset(string path) { masterGroup = new AudioMixerGroupController(this); masterGroup.name = "Master"; masterGroup.PreallocateGUIDs(); var attenuation = new AudioMixerEffectController("Attenuation"); attenuation.PreallocateGUIDs(); masterGroup.InsertEffect(attenuation, 0); AudioMixerSnapshotController snapshot = new AudioMixerSnapshotController(this); snapshot.name = "Snapshot"; this.snapshots = new AudioMixerSnapshotController[] { snapshot }; this.startSnapshot = snapshot; Object[] objectArray = { this, masterGroup, attenuation, snapshot }; AssetDatabase.CreateAssetFromObjects(objectArray, path); }
public AudioMixerEffectController CopyEffect(AudioMixerEffectController sourceEffect) { AudioMixerEffectController effectController = new AudioMixerEffectController(sourceEffect.effectName); effectController.name = sourceEffect.name; effectController.PreallocateGUIDs(); MixerParameterDefinition[] effectParameters = MixerEffectDefinitions.GetEffectParameters(sourceEffect.effectName); foreach (AudioMixerSnapshotController snapshot in this.snapshots) { float num; if (snapshot.GetValue(sourceEffect.GetGUIDForMixLevel(), out num)) snapshot.SetValue(effectController.GetGUIDForMixLevel(), num); foreach (MixerParameterDefinition parameterDefinition in effectParameters) { if (snapshot.GetValue(sourceEffect.GetGUIDForParameter(parameterDefinition.name), out num)) snapshot.SetValue(effectController.GetGUIDForParameter(parameterDefinition.name), num); } } AssetDatabase.AddObjectToAsset((UnityEngine.Object) effectController, (UnityEngine.Object) this); return effectController; }
public void CreateDefaultAsset(string path) { this.masterGroup = new AudioMixerGroupController((AudioMixer) this); this.masterGroup.name = "Master"; this.masterGroup.PreallocateGUIDs(); AudioMixerEffectController effect = new AudioMixerEffectController("Attenuation"); effect.PreallocateGUIDs(); this.masterGroup.InsertEffect(effect, 0); AudioMixerSnapshotController snapshotController = new AudioMixerSnapshotController((AudioMixer) this); snapshotController.name = "Snapshot"; this.snapshots = new AudioMixerSnapshotController[1] { snapshotController }; this.startSnapshot = (AudioMixerSnapshot) snapshotController; AssetDatabase.CreateAssetFromObjects(new UnityEngine.Object[4] { (UnityEngine.Object) this, (UnityEngine.Object) this.masterGroup, (UnityEngine.Object) effect, (UnityEngine.Object) snapshotController }, path); }
public AudioMixerGroupController CreateNewGroup(string name, bool storeUndoState) { AudioMixerGroupController mixerGroupController = new AudioMixerGroupController((AudioMixer) this); mixerGroupController.name = name; mixerGroupController.PreallocateGUIDs(); AudioMixerEffectController effect = new AudioMixerEffectController("Attenuation"); this.AddNewSubAsset((UnityEngine.Object) effect, storeUndoState); effect.PreallocateGUIDs(); mixerGroupController.InsertEffect(effect, 0); this.AddNewSubAsset((UnityEngine.Object) mixerGroupController, storeUndoState); return mixerGroupController; }
public static void InsertEffectPopupCallback(object obj) { AudioMixerChannelStripView.EffectContext effectContext = (AudioMixerChannelStripView.EffectContext)obj; Undo.RecordObject(effectContext.group, "Add effect"); AudioMixerEffectController audioMixerEffectController = new AudioMixerEffectController(effectContext.name); effectContext.group.InsertEffect(audioMixerEffectController, effectContext.index); AssetDatabase.AddObjectToAsset(audioMixerEffectController, effectContext.controller); audioMixerEffectController.PreallocateGUIDs(); AudioMixerUtility.RepaintAudioMixerAndInspectors(); }
public AudioMixerEffectController CopyEffect(AudioMixerEffectController sourceEffect) { AudioMixerEffectController audioMixerEffectController = new AudioMixerEffectController(sourceEffect.effectName); audioMixerEffectController.name = sourceEffect.name; audioMixerEffectController.PreallocateGUIDs(); MixerParameterDefinition[] effectParameters = MixerEffectDefinitions.GetEffectParameters(sourceEffect.effectName); AudioMixerSnapshotController[] snapshots = this.snapshots; for (int i = 0; i < snapshots.Length; i++) { AudioMixerSnapshotController audioMixerSnapshotController = snapshots[i]; float value; if (audioMixerSnapshotController.GetValue(sourceEffect.GetGUIDForMixLevel(), out value)) { audioMixerSnapshotController.SetValue(audioMixerEffectController.GetGUIDForMixLevel(), value); } MixerParameterDefinition[] array = effectParameters; for (int j = 0; j < array.Length; j++) { MixerParameterDefinition mixerParameterDefinition = array[j]; if (audioMixerSnapshotController.GetValue(sourceEffect.GetGUIDForParameter(mixerParameterDefinition.name), out value)) { audioMixerSnapshotController.SetValue(audioMixerEffectController.GetGUIDForParameter(mixerParameterDefinition.name), value); } } } AssetDatabase.AddObjectToAsset(audioMixerEffectController, this); return audioMixerEffectController; }
public AudioMixerGroupController CreateNewGroup(string name, bool storeUndoState) { AudioMixerGroupController audioMixerGroupController = new AudioMixerGroupController(this); audioMixerGroupController.name = name; audioMixerGroupController.PreallocateGUIDs(); AudioMixerEffectController audioMixerEffectController = new AudioMixerEffectController("Attenuation"); this.AddNewSubAsset(audioMixerEffectController, storeUndoState); audioMixerEffectController.PreallocateGUIDs(); audioMixerGroupController.InsertEffect(audioMixerEffectController, 0); this.AddNewSubAsset(audioMixerGroupController, storeUndoState); return audioMixerGroupController; }
public void CreateDefaultAsset(string path) { this.masterGroup = new AudioMixerGroupController(this); this.masterGroup.name = "Master"; this.masterGroup.PreallocateGUIDs(); AudioMixerEffectController audioMixerEffectController = new AudioMixerEffectController("Attenuation"); audioMixerEffectController.PreallocateGUIDs(); this.masterGroup.InsertEffect(audioMixerEffectController, 0); AudioMixerSnapshotController audioMixerSnapshotController = new AudioMixerSnapshotController(this); audioMixerSnapshotController.name = "Snapshot"; this.snapshots = new AudioMixerSnapshotController[] { audioMixerSnapshotController }; this.startSnapshot = audioMixerSnapshotController; UnityEngine.Object[] assets = new UnityEngine.Object[] { this, this.masterGroup, audioMixerEffectController, audioMixerSnapshotController }; AssetDatabase.CreateAssetFromObjects(assets, path); }
public static void InsertEffectPopupCallback(object obj) { AudioMixerChannelStripView.EffectContext effectContext = (AudioMixerChannelStripView.EffectContext) obj; foreach (AudioMixerGroupController group in effectContext.groups) { Undo.RecordObject((UnityEngine.Object) group, "Add effect"); AudioMixerEffectController effect = new AudioMixerEffectController(effectContext.name); int index = effectContext.index == -1 || effectContext.index > group.effects.Length ? group.effects.Length : effectContext.index; group.InsertEffect(effect, index); AssetDatabase.AddObjectToAsset((UnityEngine.Object) effect, (UnityEngine.Object) effectContext.controller); effect.PreallocateGUIDs(); } AudioMixerUtility.RepaintAudioMixerAndInspectors(); }