Beispiel #1
0
        public IEnumerator RegisterMessage1() => UniTask.ToCoroutine(async() =>
        {
            bool invoked = false;

            ServerMessageHandler.RegisterHandler <WovenTestMessage>(msg => invoked = true);
            clientPlayer.Send(message);

            await AsyncUtil.WaitUntilWithTimeout(() => invoked);
        });
Beispiel #2
0
        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);
        });
Beispiel #3
0
        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);
        });
Beispiel #4
0
        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>());
        });