public Task HandleMessageAsync(IrcPrivMessage message, CancellationToken cancellationToken) { return(Triggers.Any(trigger => message.Text.StartsWith(Configuration.TriggerPrefix + trigger, StringComparison.InvariantCultureIgnoreCase) && AccessAllowed(message.IdentityUser)) ? HandleMessageAsyncInternal(message, cancellationToken) : Task.CompletedTask); }
private bool Matches(object state, List <Node> matches, Dictionary <Node, bool> matched) { if (!matched.TryGetValue(this, out var found)) { found = false; foreach (var child in _specializations) { if (child.Matches(state, matches, matched)) { found = true; } } // No child matched so we might if (!found) { var(value, error) = Expression.TryEvaluate(state); if (error == null && value is bool match && match && Triggers.Any()) { matches.Add(this); found = true; } } matched.Add(this, found); } return(found); }
protected virtual void OnPropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == StatePropertyName && State != PreviousState && Triggers?.Any() == true) { this.Publish(new WidgetStateChanged(this, PreviousState, State)); } }
public PresetTrigger AddTrigger() { if (!Triggers.Any()) { Triggers.Add(new PresetTrigger()); } return(Triggers.First()); }
public void AddTrigger(Trigger trigger) { if (Triggers.Any(t => t.GetType() == trigger.GetType())) { return; } Triggers.Add(trigger); }
public LevelObject(LevelObjectPrefab prefab, Vector3 position, float scale, float rotation = 0.0f) { ActivePrefab = Prefab = prefab; Position = position; Scale = scale; Rotation = rotation; spriteIndex = ActivePrefab.Sprites.Any() ? Rand.Int(ActivePrefab.Sprites.Count, Rand.RandSync.Server) : -1; if (Sprite != null && prefab.SpriteSpecificPhysicsBodyElements.ContainsKey(Sprite)) { PhysicsBody = new PhysicsBody(prefab.SpriteSpecificPhysicsBodyElements[Sprite], ConvertUnits.ToSimUnits(new Vector2(position.X, position.Y)), Scale); } else if (prefab.PhysicsBodyElement != null) { PhysicsBody = new PhysicsBody(prefab.PhysicsBodyElement, ConvertUnits.ToSimUnits(new Vector2(position.X, position.Y)), Scale); } if (PhysicsBody != null) { PhysicsBody.SetTransformIgnoreContacts(PhysicsBody.SimPosition, -Rotation); PhysicsBody.BodyType = BodyType.Static; PhysicsBody.CollisionCategories = Physics.CollisionLevel; PhysicsBody.CollidesWith = Physics.CollisionWall | Physics.CollisionCharacter; } foreach (XElement triggerElement in prefab.LevelTriggerElements) { Triggers ??= new List <LevelTrigger>(); Vector2 triggerPosition = triggerElement.GetAttributeVector2("position", Vector2.Zero) * scale; if (rotation != 0.0f) { var ca = (float)Math.Cos(rotation); var sa = (float)Math.Sin(rotation); triggerPosition = new Vector2( ca * triggerPosition.X + sa * triggerPosition.Y, -sa * triggerPosition.X + ca * triggerPosition.Y); } var newTrigger = new LevelTrigger(triggerElement, new Vector2(position.X, position.Y) + triggerPosition, -rotation, scale, prefab.Name); int parentTriggerIndex = prefab.LevelTriggerElements.IndexOf(triggerElement.Parent); if (parentTriggerIndex > -1) { newTrigger.ParentTrigger = Triggers[parentTriggerIndex]; } Triggers.Add(newTrigger); } NeedsUpdate = NeedsNetworkSyncing || (Triggers != null && Triggers.Any()) || Prefab.PhysicsBodyTriggerIndex > -1; InitProjSpecific(); }
public override List <string> GetDisplayValues(Config config = null) { var values = new List <string>(); values.Add(name); var deviceString = "Global"; if (!string.IsNullOrEmpty(DeviceMacAddress)) { if (LgDevices != null) { var device = LgDevices.FirstOrDefault(d => !string.IsNullOrEmpty(d.MacAddress) && d.MacAddress.Equals(DeviceMacAddress)); if (device != null) { deviceString = device.Name; } else { deviceString = "Unknown: device not found"; } } else { deviceString = DeviceMacAddress; } } values.Add(deviceString); var app = appId; if (LgApps != null) { var item = LgApps.FirstOrDefault(x => x.appId.Equals(appId)); if (item != null) { app = item.title + " (" + appId + ")"; } } values.Add(app); values.Add(GetStepsDisplay()); values.Add(shortcut); if (Triggers.Any()) { values.Add(Triggers.First().ToString()); } return(values); }
/// <summary> /// Evaluates all state change triggers. /// </summary> private void EvalTriggers() { if (!Triggers.Any()) { return; } TState newState = DefaultState; ApplyCondition(VisualStateTriggerTypes.Focused, ref newState); ApplyCondition(VisualStateTriggerTypes.Hot, ref newState); ApplyCondition(VisualStateTriggerTypes.Pushed, ref newState); State = newState; }
private void WriteTriggers(CustomFileWriter writer) { if (!Triggers?.Any() ?? true) { return; } using (writer.WriteBlock("triggers")) { foreach (var trigger in Triggers) { trigger.Write(writer); } } }
public override void Write(CustomFileWriter writer) { using (writer.WriteBlock($"job({Name.DoubleQuote()})")) { if (VolumeSize != null) { writer.WriteLine($"volumeSize = {VolumeSize}"); writer.WriteLine(); } using (writer.WriteBlock("git")) { writer.WriteLine("depth = UNLIMITED_DEPTH"); if (RefSpec != null) { using (writer.WriteBlock("refSpec")) { RefSpec.ForEach(x => writer.WriteLine($"+{x.DoubleQuote()}")); } } } writer.WriteLine(); Container.Write(writer); if (Triggers.Any()) { writer.WriteLine(); using (writer.WriteBlock("startOn")) { Triggers.ForEach(x => x.Write(writer)); } } if (TimeoutInMinutes != null) { writer.WriteLine(); using (writer.WriteBlock("failOn")) { writer.WriteLine($"timeOut {{ timeOutInMinutes = {TimeoutInMinutes} }}"); } } } }
public List <Tuple <Trigger, List <DtmfToneEnd> > > DidTriggerProcess(List <DtmfToneEnd> tones) { List <Tuple <Trigger, List <DtmfToneEnd> > > triggers = new List <Tuple <Trigger, List <DtmfToneEnd> > >(); if (tones != null && tones.Any()) { if (Triggers != null && Triggers.Any()) { foreach (var trigger in Triggers) { List <DtmfToneEnd> matchedTones = trigger.GetMatchingTones(tones); if (matchedTones != null && matchedTones.Any()) { triggers.Add(new Tuple <Trigger, List <DtmfToneEnd> >(trigger, matchedTones)); } } } } return(triggers); }
public void UpdateTrigger(PresetTriggerType triggerType, PresetConditionType conditions, string includedProcesses, string excludedProcesses) { if (!Triggers.Any()) { Triggers.Add(new PresetTrigger()); } var trigger = Triggers.First(); trigger.Trigger = triggerType; trigger.Conditions = conditions; if (trigger.IncludedProcesses == null) { trigger.IncludedProcesses = new List <string>(); } if (trigger.ExcludedProcesses == null) { trigger.ExcludedProcesses = new List <string>(); } Utils.ParseWords(trigger.IncludedProcesses, includedProcesses); Utils.ParseWords(trigger.ExcludedProcesses, excludedProcesses); }
private bool DetectSingleSchema() { if (Tables.Any(o => o.Schema != DefaultSchema)) { return(false); } if (Views.Any(o => o.Schema != DefaultSchema)) { return(false); } if (StoredProcedures.Any(o => o.Schema != DefaultSchema)) { return(false); } if (Functions.Any(o => o.Schema != DefaultSchema)) { return(false); } if (Triggers.Any(o => o.Schema != DefaultSchema)) { return(false); } return(true); }
partial void InitProjSpecific() { Sprite?.EnsureLazyLoaded(); Prefab.DeformableSprite?.EnsureLazyLoaded(); CurrentSwingAmount = Prefab.SwingAmountRad; CurrentScaleOscillation = Prefab.ScaleOscillation; SwingTimer = Rand.Range(0.0f, MathHelper.TwoPi); ScaleOscillateTimer = Rand.Range(0.0f, MathHelper.TwoPi); if (Prefab.ParticleEmitterPrefabs != null) { ParticleEmitters = new ParticleEmitter[Prefab.ParticleEmitterPrefabs.Count]; ParticleEmitterTriggers = new LevelTrigger[Prefab.ParticleEmitterPrefabs.Count]; for (int i = 0; i < Prefab.ParticleEmitterPrefabs.Count; i++) { ParticleEmitters[i] = new ParticleEmitter(Prefab.ParticleEmitterPrefabs[i]); ParticleEmitterTriggers[i] = Prefab.ParticleEmitterTriggerIndex[i] > -1 ? Triggers[Prefab.ParticleEmitterTriggerIndex[i]] : null; } } if (Prefab.LightSourceParams != null && Prefab.LightSourceParams.Count > 0) { LightSources = new LightSource[Prefab.LightSourceParams.Count]; LightSourceTriggers = new LevelTrigger[Prefab.LightSourceParams.Count]; for (int i = 0; i < Prefab.LightSourceParams.Count; i++) { LightSources[i] = new LightSource(Prefab.LightSourceParams[i]) { Position = new Vector2(Position.X, Position.Y), IsBackground = true }; LightSourceTriggers[i] = Prefab.LightSourceTriggerIndex[i] > -1 ? Triggers[Prefab.LightSourceTriggerIndex[i]] : null; } } Sounds = new RoundSound[Prefab.Sounds.Count]; SoundChannels = new SoundChannel[Prefab.Sounds.Count]; SoundTriggers = new LevelTrigger[Prefab.Sounds.Count]; for (int i = 0; i < Prefab.Sounds.Count; i++) { Sounds[i] = Submarine.LoadRoundSound(Prefab.Sounds[i].SoundElement, false); SoundTriggers[i] = Prefab.Sounds[i].TriggerIndex > -1 ? Triggers[Prefab.Sounds[i].TriggerIndex] : null; } int j = 0; foreach (XElement subElement in Prefab.Config.Elements()) { if (!subElement.Name.ToString().Equals("deformablesprite", StringComparison.OrdinalIgnoreCase)) { continue; } foreach (XElement animationElement in subElement.Elements()) { var newDeformation = SpriteDeformation.Load(animationElement, Prefab.Name); if (newDeformation != null) { newDeformation.Params = Prefab.SpriteDeformations[j].Params; spriteDeformations.Add(newDeformation); j++; } } } VisibleOnSonar = Prefab.SonarDisruption > 0.0f || Prefab.OverrideProperties.Any(p => p != null && p.SonarDisruption > 0.0f) || (Triggers != null && Triggers.Any(t => !MathUtils.NearlyEqual(t.Force, Vector2.Zero) && t.ForceMode != LevelTrigger.TriggerForceMode.LimitVelocity || !string.IsNullOrWhiteSpace(t.InfectIdentifier))); if (VisibleOnSonar && Triggers.Any()) { SonarRadius = Triggers.Select(t => t.ColliderRadius * 1.5f).Max(); } }