Exemplo n.º 1
0
 public FileTransferringSocketReciever(SocketHandler socketHandler, FileSystem fileSystem)
 {
     _socketHandler = socketHandler;
     _fileSystem    = fileSystem;
     _out           = socketHandler.GetOutputStream();
     _in            = socketHandler.GetInputStream();
 }
Exemplo n.º 2
0
        //private const string JavaArgs = "-jar D:/Desktop/interop/interop.jar";

        public static bool WriteBytesAndTestInterop(byte[] bytes, [CallerMemberName] string testArgument = "")
        {
            var outputPath = String.Format("{0}{1}-in.txt", TmpDir, testArgument);
            var inputPath  = String.Format("{0}{1}-out.txt", TmpDir, testArgument);

            File.WriteAllBytes(outputPath, bytes);

            Run(testArgument);

            byte[] result = File.ReadAllBytes(inputPath);

            var javaReader = new JavaBinaryReader(new MemoryStream(result));

            // 1: test succeeded
            // 0: test failed
            int res = javaReader.ReadByte();

            return(res == 1);
        }
Exemplo n.º 3
0
        protected override void Handle(ConnectionToGridiaServerHandler connection, JavaBinaryReader data)
        {
            var game       = connection.GetGame();
            var sx         = data.ReadInt32();
            var sy         = data.ReadInt32();
            var sz         = data.ReadInt32();
            var sectorSize = connection.GetGame().TileMap.SectorSize;
            var tiles      = new Tile[sectorSize, sectorSize];
            var cm         = Locator.Get <ContentManager>();

            for (var x = 0; x < sectorSize; x++)
            {
                for (var y = 0; y < sectorSize; y++)
                {
                    var floor        = data.ReadInt16();
                    var itemType     = data.ReadInt16();
                    var itemQuantity = data.ReadInt16();
                    var tile         = new Tile {
                        Floor = floor, Item = cm.GetItem(itemType).GetInstance(itemQuantity)
                    };
                    tiles[x, y] = tile;
                }
            }
            game.TileMap.SetSector(new Sector(tiles), sx, sy, sz);

            var numCreatures = data.ReadInt32();

            for (var i = 0; i < numCreatures; i++)
            {
                var           id        = data.ReadInt16();
                var           name      = data.ReadJavaUTF();
                var           x         = data.ReadInt16();
                var           y         = data.ReadInt16();
                var           z         = data.ReadInt16();
                var           imageType = data.ReadInt16();
                CreatureImage image     = null;
                switch (imageType)
                {
                case 0:
                    var defaultImage = new DefaultCreatureImage
                    {
                        SpriteIndex = data.ReadInt16(),
                        Width       = data.ReadInt16(),
                        Height      = data.ReadInt16()
                    };
                    image = defaultImage;
                    break;

                case 1:
                    var customImage = new CustomPlayerImage
                    {
                        Head   = data.ReadInt16(),
                        Chest  = data.ReadInt16(),
                        Legs   = data.ReadInt16(),
                        Arms   = data.ReadInt16(),
                        Weapon = data.ReadInt16(),
                        Shield = data.ReadInt16()
                    };
                    image = customImage;
                    break;
                }
                game.CreateCreature(id, name, image, x, y, z);
            }
        }