コード例 #1
0
        public void DispatchToListenerTest()
        {
            ENetEvent ev;

            var listener = new Listener();

            void setEvent(ENetEventType type)
            {
                var native = new NativeENetEvent
                {
                    Type = type
                };

                ev = new ENetEvent(native);
            }

            setEvent(ENetEventType.Connect);
            Assert.IsTrue(ev.DisptachTo(listener));
            Assert.IsTrue(listener.OnConnectCalled);

            setEvent(ENetEventType.Disconnect);
            Assert.IsTrue(ev.DisptachTo(listener));
            Assert.IsTrue(listener.OnDisconnectCalled);

            setEvent(ENetEventType.Receive);
            Assert.IsTrue(ev.DisptachTo(listener));
            Assert.IsTrue(listener.OnReceiveCalled);

            setEvent(ENetEventType.None);
            Assert.IsFalse(ev.DisptachTo(listener));
        }
コード例 #2
0
ファイル: ENetEvent.cs プロジェクト: moien007/ENet.Managed
        public unsafe ENetEvent(NativeENetEvent native)
        {
            Type      = native.Type;
            ChannelId = native.ChannelID;
            Data      = native.Data;

            if (native.Peer != null)
            {
                Peer = new ENetPeer(native.Peer);
            }
            else
            {
                Peer = default;
            }

            if (native.Packet != null)
            {
                Packet = new ENetPacket(native.Packet);
            }
            else
            {
                Packet = default;
            }
        }