public void TearDown() { _gameObjectEventListener.OnDisable(); _gameObjectEventListener = null; _gameObjectEvent = null; _unityEvent = null; }
public void Setup() { _unityEvent = new GameObjectEventUnityEvent(); _gameObjectEvent = ScriptableObject.CreateInstance <GameObjectEvent>(); _gameObjectEventListener = new GameObject().AddComponent <GameObjectEventListener>(); _gameObjectEventListener.soEvent = _gameObjectEvent; _gameObjectEventListener.unityEvent = _unityEvent; _gameObjectEventListener.OnEnable(); }
public void OnGameObjectEventBroadcast_CalledWithExpectedArgument() { // Arrange GameObject gameObjectArgument = null; var unityEvent = new GameObjectEventUnityEvent(); var gameObjectEvent = ScriptableObject.CreateInstance <GameObjectEvent>(); var gameObjectEventListener = new GameObject().AddComponent <GameObjectEventListener>(); gameObjectEventListener.soEvent = gameObjectEvent; gameObjectEventListener.unityEvent = unityEvent; gameObjectEventListener.OnEnable(); var dummyGameObject = new GameObject(); unityEvent.AddListener(gameObject => gameObjectArgument = gameObject); // Act gameObjectEvent.Broadcast(dummyGameObject); // Assert Assert.AreSame(dummyGameObject, gameObjectArgument, "GameObject is passed in as a parameter"); }
public void OnGameObjectEventBroadcast_GameEventListenerInvokesUnityEventOnGameEventBroadcast() { // Arrange GameObject gameObjectArgument = null; var eventListenerCalled = false; var unityEvent = new GameObjectEventUnityEvent(); var gameObjectEvent = ScriptableObject.CreateInstance <GameObjectEvent>(); var gameObjectEventListener = new GameObject().AddComponent <GameObjectEventListener>(); gameObjectEventListener.soEvent = gameObjectEvent; gameObjectEventListener.unityEvent = unityEvent; gameObjectEventListener.OnEnable(); var dummyGameObject = new GameObject(); unityEvent.AddListener(gameObject => eventListenerCalled = true); // Act gameObjectEvent.Broadcast(dummyGameObject); // Assert Assert.True(eventListenerCalled); }
public void ScriptEventListenerHandleFunction_UnityEventCanBeInvokedDirectly() { // Arrange var eventListenerCalled = false; var unityEvent = new GameObjectEventUnityEvent(); var gameObjectEvent = ScriptableObject.CreateInstance <GameObjectEvent>(); var gameObjectEventListener = new GameObject().AddComponent <GameObjectEventListener>(); gameObjectEventListener.soEvent = gameObjectEvent; gameObjectEventListener.unityEvent = unityEvent; gameObjectEventListener.OnEnable(); var dummyGameObject = new GameObject(); unityEvent.AddListener(gameObject => eventListenerCalled = true); // Act gameObjectEventListener.OnEventBroadcast(dummyGameObject); // Assert Assert.True(eventListenerCalled); }