public IEnumerator RegisterMessage1() => UniTask.ToCoroutine(async() => { bool invoked = false; ServerMessageHandler.RegisterHandler <WovenTestMessage>(msg => invoked = true); clientPlayer.Send(message); await AsyncUtil.WaitUntilWithTimeout(() => invoked); });
public IEnumerator DontAutoSpawnTest() => UniTask.ToCoroutine(async() => { var invokeAddPlayerMessage = false; ServerMessageHandler.RegisterHandler <AddCharacterMessage>(msg => invokeAddPlayerMessage = true); sceneManager.ServerLoadSceneNormal(TestScene.Path); // wait for messages to be processed await UniTask.Yield(); Assert.That(invokeAddPlayerMessage, Is.False); });
public IEnumerator ManualSpawnTest() => UniTask.ToCoroutine(async() => { var invokeAddPlayerMessage = false; ServerMessageHandler.RegisterHandler <AddCharacterMessage>(msg => invokeAddPlayerMessage = true); spawner.RequestServerSpawnPlayer(); // wait for messages to be processed await UniTask.Yield(); Assert.That(invokeAddPlayerMessage, Is.True); });
public IEnumerator UnRegisterMessage1() => UniTask.ToCoroutine(async() => { MessageDelegate <WovenTestMessage> func = Substitute.For <MessageDelegate <WovenTestMessage> >(); ServerMessageHandler.RegisterHandler(func); ServerMessageHandler.UnregisterHandler <WovenTestMessage>(); clientPlayer.Send(message); await UniTask.Delay(1); func.Received(0).Invoke( Arg.Any <WovenTestMessage>()); });