Beispiel #1
0
        public async void CommunicationDeviceSerializerBatchTest()
        {
            Regulus.Serialization.ISerializer serializer = new Regulus.Serialization.Dynamic.Serializer();
            Stream      cd   = new Regulus.Remote.Standalone.Stream();
            IStreamable peer = cd;

            byte[] buf = serializer.ServerToClient(ServerToClientOpCode.LoadSoul, new Regulus.Remote.PackageLoadSoul()
            {
                EntityId = 1, ReturnType = false, TypeId = 1
            });

            await cd.Push(buf, 0, 1);

            await cd.Push(buf, 1, buf.Length - 1);

            byte[] recvBuf = new byte[buf.Length];
            await peer.Receive(recvBuf, 0, recvBuf.Length);

            await peer.Receive(recvBuf, 1, recvBuf.Length - 1);

            ResponsePackage responsePkg = serializer.Deserialize(recvBuf) as ResponsePackage;
            PackageLoadSoul lordsoulPkg = serializer.Deserialize(responsePkg.Data) as PackageLoadSoul;

            Assert.Equal(ServerToClientOpCode.LoadSoul, responsePkg.Code);
            Assert.Equal(1, lordsoulPkg.EntityId);
            Assert.False(lordsoulPkg.ReturnType);
            Assert.Equal(1, lordsoulPkg.TypeId);
        }
Beispiel #2
0
        private void _LoadSoul(int soul_type_id, Guid id, bool return_type)
        {
            var package = new PackageLoadSoul
            {
                TypeId     = soul_type_id,
                EntityId   = id,
                ReturnType = return_type
            };

            _Queue.Push(ServerToClientOpCode.LoadSoul, _Serialize.Serialize(package));
        }