public void DoubleEventTest() { DoubleEvent e = new DoubleEvent(); double counter = 0; e.AddListener((val) => counter += 1.0 + val); Assert.AreEqual(counter, 0); e.Invoke(1.5); Assert.AreEqual(counter, 2.5); e.Invoke(2.0); e.Invoke(0.5); Assert.AreEqual(counter, 7.0); }
{ public static void AddOnce(this DoubleEvent thisEvent, UnityAction <double> reciever) { thisEvent.RemoveListener(reciever); thisEvent.AddListener(reciever); }