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);
        }
Example #2
0
        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);
        }
Example #3
0
 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;
 }
Example #4
0
        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);
        }
Example #5
0
        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();
        }
Example #7
0
        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);
        }
Example #8
0
        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();
        }
Example #9
0
 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;
         }
     }
 }
Example #10
0
    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;
            }
        }
    }
Example #11
0
        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);
        }
Example #13
0
        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;
                }
            }
        }