#pragma warning disable CS0612 // Type or member is obsolete internal ConditionalActionModel(MixItUp.Base.Actions.ConditionalAction action, ActionModelBase subAction) : base(ActionTypeEnum.Conditional) { this.CaseSensitive = !action.IgnoreCase; this.Operator = (ConditionalOperatorTypeEnum)(int)action.Operator; foreach (var clause in action.Clauses) { this.Clauses.Add(new ConditionalClauseModel((ConditionalComparisionTypeEnum)(int)clause.ComparisionType, clause.Value1, clause.Value2, clause.Value3)); } if (subAction != null) { this.Actions.Add(subAction); } }
public bool Equals(ActionModelBase other) { return(this.ID.Equals(other.ID)); }
#pragma warning disable CS0612 // Type or member is obsolete internal static IEnumerable <ActionModelBase> UpgradeAction(Base.Actions.ActionBase action) { List <ActionModelBase> actions = new List <ActionModelBase>(); switch (action.Type) { case Base.Actions.ActionTypeEnum.Chat: actions.Add(new ChatActionModel((MixItUp.Base.Actions.ChatAction)action)); break; case Base.Actions.ActionTypeEnum.Clips: actions.Add(new TwitchActionModel((MixItUp.Base.Actions.ClipsAction)action)); break; case Base.Actions.ActionTypeEnum.Command: actions.Add(new CommandActionModel((MixItUp.Base.Actions.CommandAction)action)); break; case Base.Actions.ActionTypeEnum.Conditional: MixItUp.Base.Actions.ConditionalAction conAction = (MixItUp.Base.Actions.ConditionalAction)action; ActionModelBase subAction = null; if (conAction.CommandID != Guid.Empty) { CommandActionModel cmdAction = new CommandActionModel(CommandActionTypeEnum.RunCommand, null); cmdAction.CommandID = conAction.CommandID; subAction = cmdAction; } else { IEnumerable <ActionModelBase> subActions = ActionModelBase.UpgradeAction(conAction.Action); if (subActions != null && subActions.Count() > 0) { subAction = subActions.ElementAt(0); } } actions.Add(new ConditionalActionModel(conAction, subAction)); break; case Base.Actions.ActionTypeEnum.Counter: actions.Add(new CounterActionModel((MixItUp.Base.Actions.CounterAction)action)); break; case Base.Actions.ActionTypeEnum.Currency: actions.Add(new ConsumablesActionModel((MixItUp.Base.Actions.CurrencyAction)action)); break; case Base.Actions.ActionTypeEnum.Discord: actions.Add(new DiscordActionModel((MixItUp.Base.Actions.DiscordAction)action)); break; case Base.Actions.ActionTypeEnum.ExternalProgram: actions.Add(new ExternalProgramActionModel((MixItUp.Base.Actions.ExternalProgramAction)action)); break; case Base.Actions.ActionTypeEnum.File: actions.Add(new FileActionModel((MixItUp.Base.Actions.FileAction)action)); break; case Base.Actions.ActionTypeEnum.GameQueue: actions.Add(new GameQueueActionModel((MixItUp.Base.Actions.GameQueueAction)action)); break; case Base.Actions.ActionTypeEnum.IFTTT: actions.Add(new IFTTTActionModel((MixItUp.Base.Actions.IFTTTAction)action)); break; case Base.Actions.ActionTypeEnum.Input: actions.Add(new InputActionModel((MixItUp.Base.Actions.InputAction)action)); break; case Base.Actions.ActionTypeEnum.Moderation: MixItUp.Base.Actions.ModerationAction mAction = (MixItUp.Base.Actions.ModerationAction)action; if (mAction.ModerationType == Base.Actions.ModerationActionTypeEnum.VIPUser || mAction.ModerationType == Base.Actions.ModerationActionTypeEnum.UnVIPUser) { actions.Add(new TwitchActionModel(mAction)); } else { actions.Add(new ModerationActionModel(mAction)); } break; case Base.Actions.ActionTypeEnum.Overlay: actions.Add(new OverlayActionModel((MixItUp.Base.Actions.OverlayAction)action)); break; case Base.Actions.ActionTypeEnum.OvrStream: actions.Add(new OvrStreamActionModel((MixItUp.Base.Actions.OvrStreamAction)action)); break; case Base.Actions.ActionTypeEnum.Serial: actions.Add(new SerialActionModel((MixItUp.Base.Actions.SerialAction)action)); break; case Base.Actions.ActionTypeEnum.Sound: actions.Add(new SoundActionModel((MixItUp.Base.Actions.SoundAction)action)); break; case Base.Actions.ActionTypeEnum.SpecialIdentifier: actions.Add(new SpecialIdentifierActionModel((MixItUp.Base.Actions.SpecialIdentifierAction)action)); break; case Base.Actions.ActionTypeEnum.StreamingPlatform: actions.Add(new TwitchActionModel((MixItUp.Base.Actions.StreamingPlatformAction)action)); break; case Base.Actions.ActionTypeEnum.StreamingSoftware: actions.Add(new StreamingSoftwareActionModel((MixItUp.Base.Actions.StreamingSoftwareAction)action)); break; case Base.Actions.ActionTypeEnum.Streamlabs: actions.Add(new StreamlabsActionModel((MixItUp.Base.Actions.StreamlabsAction)action)); break; case Base.Actions.ActionTypeEnum.TextToSpeech: actions.Add(new TextToSpeechActionModel((MixItUp.Base.Actions.TextToSpeechAction)action)); break; case Base.Actions.ActionTypeEnum.Translation: // Deprecated break; case Base.Actions.ActionTypeEnum.Twitter: actions.Add(new TwitterActionModel((MixItUp.Base.Actions.TwitterAction)action)); break; case Base.Actions.ActionTypeEnum.Wait: actions.Add(new WaitActionModel((MixItUp.Base.Actions.WaitAction)action)); break; case Base.Actions.ActionTypeEnum.WebRequest: MixItUp.Base.Actions.WebRequestAction wbAction = (MixItUp.Base.Actions.WebRequestAction)action; actions.Add(new WebRequestActionModel(wbAction)); if (wbAction.ResponseAction == Base.Actions.WebRequestResponseActionTypeEnum.Chat) { actions.Add(new ChatActionModel(wbAction.ResponseChatText)); } else if (wbAction.ResponseAction == Base.Actions.WebRequestResponseActionTypeEnum.Command) { CommandActionModel cmdAction = new CommandActionModel(CommandActionTypeEnum.RunCommand, null); cmdAction.CommandID = wbAction.ResponseCommandID; cmdAction.Arguments = wbAction.ResponseCommandArgumentsText; actions.Add(cmdAction); } else if (wbAction.ResponseAction == Base.Actions.WebRequestResponseActionTypeEnum.SpecialIdentifier) { actions.Add(new SpecialIdentifierActionModel(wbAction.SpecialIdentifierName, "$" + WebRequestActionModel.ResponseSpecialIdentifier, false, false)); } break; } if (actions.Count > 0 && !string.Equals(action.Label, EnumLocalizationHelper.GetLocalizedName(action.Type))) { actions.First().Name = action.Label; } return(actions); }
public int CompareTo(ActionModelBase other) { return(this.Name.CompareTo(other.Name)); }