public void MultipleTriggerTest() { var trigger1 = new EventTrigger(AlwaysTrue) { IsRepeatingTrigger = true }; var trigger2 = new EventTrigger(AlwaysTrue) { IsRepeatingTrigger = true }; var trigger3 = new EventTrigger(AlwaysTrue) { IsRepeatingTrigger = true }; var sequenceTrigger = new SequenceTrigger(trigger1, trigger2, trigger3); int trigger1Count = 0; int trigger2Count = 0; int trigger3Count = 0; trigger1.ConditionsMet += () => ++ trigger1Count; trigger2.ConditionsMet += () => ++ trigger2Count; trigger3.ConditionsMet += () => ++ trigger3Count; InputController.AddTrigger(sequenceTrigger); Assert.AreEqual(0, trigger1Count); Assert.AreEqual(0, trigger2Count); Assert.AreEqual(0, trigger3Count); InputController.Update(); Assert.AreEqual(1, trigger1Count); Assert.AreEqual(0, trigger2Count); Assert.AreEqual(0, trigger3Count); InputController.Update(); Assert.AreEqual(1, trigger1Count); Assert.AreEqual(1, trigger2Count); Assert.AreEqual(0, trigger3Count); InputController.Update(); Assert.AreEqual(1, trigger1Count); Assert.AreEqual(1, trigger2Count); Assert.AreEqual(1, trigger3Count); InputController.Update(); Assert.AreEqual(2, trigger1Count); Assert.AreEqual(1, trigger2Count); Assert.AreEqual(1, trigger3Count); }
void OnTriggerSequence(SequenceTrigger trigger) { if (target != null) { trigger.sequencer.Jump(target); } else if (targetName != null) { trigger.sequencer.Jump(targetName); } jumpMaxCount--; if (jumpMaxCount == 0) { gameObject.SetActive(false); } }