public void TriggerDirectly(TriggeringAction action, Transform followTransform = null, List <AudioObjectParameter> parameters = null) { switch (action) { case TriggeringAction.StartSound: { InstantiateAudioObject(followTransform, parameters); } break; case TriggeringAction.StopSound: { StopSounds(false); } break; case TriggeringAction.StopPersistentSound: { if (isPersistent) { destructionInProgress = true; StopSounds(false); } } break; } }
private TriggerRecord(TriggerType type, TState newState, TInput trigger, TriggerCondition <TState, TInput> condition, StateEvaluator <TState, TInput> evaluator, TriggeringAction <TState, TInput> triggeringAction) { Type = type; NewState = newState; Trigger = trigger; Condition = condition; Evaluator = evaluator; TriggeringAction = triggeringAction; }
public static ITransformationBuilder <int, char> OnEscapeSymbol(this ITransformationBuilder <int, char> builder, int newState, TriggeringAction <int, char> triggeringAction) => builder.OnValue(CharCategoryHelper.ESCAPE_CHAR, newState, triggeringAction);
public static ITransformationBuilder <int, char> OnPipeSymbolKeep(this ITransformationBuilder <int, char> builder, TriggeringAction <int, char> triggeringAction) => builder.OnValueKeep(CharCategoryHelper.PIPE_CHAR, triggeringAction);
public static ITransformationBuilder <TState, TInput> OnAlwaysKeep <TState, TInput>(this ITransformationBuilder <TState, TInput> builder, TriggeringAction <TState, TInput> triggeringAction) => builder.OnAlways(builder.ConfiguringState, triggeringAction);
public static ITransformationBuilder <TState, TInput> OnValueKeep <TState, TInput>(this ITransformationBuilder <TState, TInput> builder, TInput triggerValue, TriggeringAction <TState, TInput> triggeringAction) => builder.OnValue(triggerValue, builder.ConfiguringState, triggeringAction);
public static ITransformationBuilder <TState, TInput> OnConditionKeep <TState, TInput>(this ITransformationBuilder <TState, TInput> builder, TriggerCondition <TState, TInput> condition, TriggeringAction <TState, TInput> triggeringAction) => builder.OnCondition(condition, builder.ConfiguringState, triggeringAction);
public ITransformationBuilder <TState, TInput> OnAlways(StateEvaluator <TState, TInput> stateEvaluator, TriggeringAction <TState, TInput> triggeringAction) { transformations.Add(new TriggerRecord <TState, TInput>(stateEvaluator, triggeringAction)); return(this); }
public ITransformationBuilder <TState, TInput> OnAlways(TState newState, TriggeringAction <TState, TInput> triggeringAction) { transformations.Add(new TriggerRecord <TState, TInput>(newState, triggeringAction)); return(this); }
public ITransformationBuilder <TState, TInput> OnCondition(TriggerCondition <TState, TInput> condition, TState newState, TriggeringAction <TState, TInput> triggeringAction) { transformations.Add(new TriggerRecord <TState, TInput>(newState, condition, triggeringAction)); return(this); }
public TriggerRecord(StateEvaluator <TState, TInput> evaluator, TriggeringAction <TState, TInput> triggeringAction) : this(TriggerType.AlwaysWithEvaluator, default(TState), default(TInput), null, evaluator, triggeringAction) { }
public TriggerRecord(TState newState, TriggeringAction <TState, TInput> triggeringAction) : this(TriggerType.Always, newState, default(TInput), null, null, triggeringAction) { }
public TriggerRecord(TState newState, TriggerCondition <TState, TInput> condition, TriggeringAction <TState, TInput> triggeringAction) : this(TriggerType.Condition, newState, default(TInput), condition, null, triggeringAction) { }
public TriggerRecord(TState newState, TInput trigger, TriggeringAction <TState, TInput> triggeringAction) : this(TriggerType.Trigger, newState, trigger, null, null, triggeringAction) { }