public void UnityEvent_EditMode_InvokeDoesNotCallRuntimeListener() { var _event = new UnityEvent(); UnityEventTools.AddPersistentListener(_event, new UnityAction(Counter.Add)); Assert.AreEqual(UnityEventCallState.RuntimeOnly, _event.GetPersistentListenerState(0)); Assert.False(Application.isPlaying); _event.Invoke(); Assert.AreEqual(0, Counter.m_Count, "Expected Event to not be called when not in play mode and event is marked as Runtime only"); for (int i = 1; i < 5; ++i) { UnityEventTools.AddIntPersistentListener(_event, new UnityAction <int>(Counter.NoOp), i); } _event.Invoke(); Assert.AreEqual(0, Counter.m_Count, "Expected Event to not be called when not in play mode and event is marked as Runtime only"); }