public static Type ActionEnumToType(EventActionTypes actionType) { switch (actionType) { case EventActionTypes.Play: return(typeof(EventAudioAction)); case EventActionTypes.Stop: return(typeof(EventAudioAction)); case EventActionTypes.StopAll: return(typeof(EventAudioAction)); case EventActionTypes.LoadBank: return(typeof(EventBankAction)); case EventActionTypes.UnloadBank: return(typeof(EventBankAction)); case EventActionTypes.SetBusVolume: return(typeof(EventBusAction)); case EventActionTypes.Break: return(typeof(EventAudioAction)); case EventActionTypes.StopAllInBus: return(typeof(EventBusAction)); } return(null); }
public static Type ActionEnumToType(EventActionTypes actionType) { switch (actionType) { case EventActionTypes.Play: return(typeof(InEventAudioAction)); case EventActionTypes.Stop: return(typeof(InEventAudioAction)); case EventActionTypes.StopAll: return(typeof(InEventAudioAction)); case EventActionTypes.BankLoading: return(typeof(InEventBankLoadingAction)); case EventActionTypes.SetBusVolume: return(typeof(InEventBusAction)); case EventActionTypes.Break: return(typeof(InEventAudioAction)); case EventActionTypes.StopAllInBus: return(typeof(InEventBusStopAction)); case EventActionTypes.SetBusMute: return(typeof(InEventBusMuteAction)); } return(null); }
public static Type ActionEnumToType(EventActionTypes actionType) { switch (actionType) { case EventActionTypes.Play: return typeof(InEventAudioAction); case EventActionTypes.Stop: return typeof(InEventAudioAction); case EventActionTypes.StopAll: return typeof(InEventAudioAction); case EventActionTypes.BankLoading: return typeof(InEventBankLoadingAction); case EventActionTypes.Break: return typeof(InEventAudioAction); case EventActionTypes.SetSnapshot: return typeof(InEventSnapshotAction); case EventActionTypes.MixerValue: return typeof(InEventMixerValueAction); case EventActionTypes.PlayMusic: return typeof(InEventMusicControl); case EventActionTypes.StopMusic: return typeof(InEventMusicControl); case EventActionTypes.PauseMusic: return typeof(InEventMusicControl); case EventActionTypes.FadeMusic: return typeof(InEventMusicFade); case EventActionTypes.CrossfadeMusic: return typeof(InEventMusicFade); case EventActionTypes.SoloMuteMusic: return typeof(InEventSoloMuteMusic); case EventActionTypes.StopAllMusic: return typeof(InEventMusicFade); } return null; }
public static T AddEventAction <T>(InAudioEventNode audioevent, EventActionTypes enumType) where T : AudioEventAction { var eventAction = audioevent.gameObject.AddComponentUndo <T>(); audioevent.ActionList.Add(eventAction); eventAction.EventActionType = enumType; return(eventAction); }
public static EnumIndex GetAttribute(this EventActionTypes op) { var attr = typeof(EventActionTypes) .GetField(op.ToString()) .GetCustomAttributes(typeof(EnumIndex), false)[0] as EnumIndex; return(attr); }
public static void ReplaceActionDestructiveAt(AudioEvent audioEvent, EventActionTypes enumType, int toRemoveAndInsertAt) { float delay = audioEvent.ActionList[toRemoveAndInsertAt].Delay; var newActionType = ActionEnumToType(enumType); DeleteActionAtIndex(audioEvent, toRemoveAndInsertAt); var added = AddEventAction(audioEvent, newActionType, enumType); added.Delay = delay; audioEvent.ActionList.Insert(toRemoveAndInsertAt, added); audioEvent.ActionList.RemoveLast(); }
public static Type ActionEnumToType(EventActionTypes actionType) { switch (actionType) { case EventActionTypes.Play: return(typeof(InEventAudioAction)); case EventActionTypes.Stop: return(typeof(InEventAudioAction)); case EventActionTypes.StopAll: return(typeof(InEventAudioAction)); case EventActionTypes.BankLoading: return(typeof(InEventBankLoadingAction)); case EventActionTypes.Break: return(typeof(InEventAudioAction)); case EventActionTypes.SetSnapshot: return(typeof(InEventSnapshotAction)); case EventActionTypes.MixerValue: return(typeof(InEventMixerValueAction)); case EventActionTypes.PlayMusic: return(typeof(InEventMusicControl)); case EventActionTypes.StopMusic: return(typeof(InEventMusicControl)); case EventActionTypes.PauseMusic: return(typeof(InEventMusicControl)); case EventActionTypes.FadeMusic: return(typeof(InEventMusicFade)); case EventActionTypes.CrossfadeMusic: return(typeof(InEventMusicFade)); case EventActionTypes.SoloMuteMusic: return(typeof(InEventSoloMuteMusic)); case EventActionTypes.StopAllMusic: return(typeof(InEventMusicFade)); } return(null); }
public static void ReplaceActionDestructiveAt(InAudioEventNode audioEvent, EventActionTypes enumType, int toRemoveAndInsertAt) { //A reel mess this function. //It adds a new component of the specied type, replaces the current at the toRemoveAndInsertAt index, and then deletes the old one float delay = audioEvent.ActionList[toRemoveAndInsertAt].Delay; Object target = audioEvent.ActionList[toRemoveAndInsertAt].Target; var newActionType = ActionEnumToType(enumType); UndoHelper.Destroy(audioEvent.ActionList[toRemoveAndInsertAt]); //UndoHelper.RecordObject(audioEvent, "Event Action Creation"); audioEvent.ActionList.RemoveAt(toRemoveAndInsertAt); var added = AddEventAction(audioEvent, newActionType, enumType); added.Delay = delay; added.Target = target; //Attempt to set the new value, will only work if it is the same type audioEvent.ActionList.Insert(toRemoveAndInsertAt, added); audioEvent.ActionList.RemoveLast(); }
private static void ChangeAction(AudioEvent audioEvent, AudioEventAction action, EventActionTypes newEnumType) { for (int i = 0; i < audioEvent.ActionList.Count; ++i) { if (audioEvent.ActionList[i] == action) { Type oldType = AudioEventWorker.ActionEnumToType(action.EventActionType); Type newType = AudioEventWorker.ActionEnumToType(newEnumType); if (oldType != newType) { AudioEventWorker.ReplaceActionDestructiveAt(audioEvent, newEnumType, i); } else { action.EventActionType = newEnumType; } break; } } }
private static void ChangeAction(InAudioEventNode audioEvent, AudioEventAction action, EventActionTypes newEnumType) { for (int i = 0; i < audioEvent._actionList.Count; ++i) { if (audioEvent._actionList[i] == action) { Type oldType = AudioEventAction.ActionEnumToType(action._eventActionType); Type newType = AudioEventAction.ActionEnumToType(newEnumType); if (oldType != newType) { InUndoHelper.DoInGroup(() => AudioEventWorker.ReplaceActionDestructiveAt(audioEvent, newEnumType, i)); } else { InUndoHelper.RecordObject(action, "Change Event Action Type"); action._eventActionType = newEnumType; } break; } } }
public static AudioEventAction AddEventAction(InAudioEventNode audioevent, Type eventActionType, EventActionTypes enumType) { UndoHelper.RecordObject(audioevent, "Event Action Creation"); var eventAction = audioevent.gameObject.AddComponentUndo(eventActionType) as AudioEventAction; audioevent.ActionList.Add(eventAction); eventAction.EventActionType = enumType; return(eventAction); }
public static AudioEventAction AddEventAction(AudioEvent audioevent, Type eventActionType, EventActionTypes enumType) { var eventAction = audioevent.gameObject.AddComponent(eventActionType) as AudioEventAction; audioevent.ActionList.Add(eventAction); eventAction.EventActionType = enumType; return(eventAction); }