public void TestReservation()
        {
            EventTargetReservation reservation = EventTarget.ReserveTargets(3);
            EventTarget            target1     = reservation.GetEntityTarget(0);
            EventTarget            target2     = reservation.GetEntityTarget(1);
            EventTarget            target3     = reservation.GetEntityTarget(2);

            Assert.IsFalse(target1.Equals(target2));
            Assert.IsFalse(target2.Equals(target3));
            Assert.IsFalse(target1.Equals(target3));

            Assert.Throws <IndexOutOfReservedTargetsException>(() => reservation.GetEntityTarget(-1));
            Assert.Throws <IndexOutOfReservedTargetsException>(() => reservation.GetEntityTarget(3));
        }
 public bool Equals(EntityCallbackId <T_Event> other)
 {
     return(target.Equals(other.target) && Equals(callback, other.callback));
 }