public void RemoveTrigger( EventTrigger trigger ) { lock ( Triggers ) { Triggers.Remove( trigger ); } }
public void AddTrigger( EventTrigger trigger ) { lock ( Triggers ) { Triggers.Add( trigger ); } }
public void OneTriggerTest() { var trigger = new EventTrigger( AlwaysTrue ) { IsRepeatingTrigger = true }; var sequenceTrigger = new SequenceTrigger( trigger ); int triggerCount = 0; trigger.ConditionsMet += () => ++triggerCount; InputController.AddTrigger( sequenceTrigger ); Assert.AreEqual( 0, triggerCount ); InputController.Update(); Assert.AreEqual( 1, triggerCount ); InputController.Update(); Assert.AreEqual( 2, triggerCount ); }
public void RemoveTrigger( EventTrigger trigger ) { _toRemove.Add( trigger ); }
void OnConditionsMet() { _currentTrigger.ConditionsMet -= OnConditionsMet; _currentTrigger = _triggers.Next(); _currentTrigger.ConditionsMet += OnConditionsMet; }
public SequenceCondition( IEnumerable<EventTrigger> triggers ) { _triggers = new LoopList<EventTrigger>( triggers ); _currentTrigger = _triggers.Next(); _currentTrigger.ConditionsMet += OnConditionsMet; }