protected override void Read(ClientProcessor psr, NReader rdr)
        {
            Width         = rdr.ReadInt32();
            Height        = rdr.ReadInt32();
            Name          = rdr.ReadUTF();
            Seed          = rdr.ReadUInt32();
            Background    = rdr.ReadInt32();
            AllowTeleport = rdr.ReadBoolean();
            ShowDisplays  = rdr.ReadBoolean();
            if (SendMusic)
            {
                Music = rdr.ReadUTF();
            }

            ClientXML = new string[rdr.ReadInt16()];
            for (int i = 0; i < ClientXML.Length; i++)
            {
                ClientXML[i] = rdr.Read32UTF();
            }

            ExtraXML = new string[rdr.ReadInt16()];
            for (int i = 0; i < ExtraXML.Length; i++)
            {
                ExtraXML[i] = rdr.Read32UTF();
            }
        }
示例#2
0
        protected override void Read(NReader rdr)
        {
            Tiles = new TileData[rdr.ReadInt16()];
            for (var i = 0; i < Tiles.Length; i++)
            {
                Tiles[i] = new TileData()
                {
                    X    = rdr.ReadInt16(),
                    Y    = rdr.ReadInt16(),
                    Tile = (Tile)rdr.ReadUInt16(),
                };
            }

            NewObjs = new ObjectDef[rdr.ReadInt16()];
            for (var i = 0; i < NewObjs.Length; i++)
            {
                NewObjs[i] = ObjectDef.Read(rdr);
            }

            Drops = new int[rdr.ReadInt16()];
            for (var i = 0; i < Drops.Length; i++)
            {
                Drops[i] = rdr.ReadInt32();
            }
        }
示例#3
0
        protected override void Read(NReader rdr)
        {
            Tiles = new TileData[rdr.ReadInt16()];
            for (int i = 0; i < Tiles.Length; i++)
            {
                Tiles[i] = new TileData
                {
                    X    = rdr.ReadInt16(),
                    Y    = rdr.ReadInt16(),
                    Tile = rdr.ReadUInt16()
                };
            }

            NewObjects = new ObjectDef[rdr.ReadInt16()];
            for (int i = 0; i < NewObjects.Length; i++)
            {
                NewObjects[i] = ObjectDef.Read(rdr);
            }

            RemovedObjectIds = new int[rdr.ReadInt16()];
            for (int i = 0; i < RemovedObjectIds.Length; i++)
            {
                RemovedObjectIds[i] = rdr.ReadInt32();
            }
        }
示例#4
0
        protected override void Read(NReader rdr)
        {
            Width           = rdr.ReadInt32();
            Height          = rdr.ReadInt32();
            Name            = rdr.ReadUTF();
            ClientWorldName = rdr.ReadUTF();
            Seed            = rdr.ReadUInt32();
            Background      = rdr.ReadInt32();
            Difficulty      = rdr.ReadInt32();
            AllowTeleport   = rdr.ReadBoolean();
            ShowDisplays    = rdr.ReadBoolean();

            ClientXML = new string[rdr.ReadInt16()];
            for (int i = 0; i < ClientXML.Length; i++)
            {
                ClientXML[i] = rdr.ReadUTF();
            }

            ExtraXML = new string[rdr.ReadInt16()];
            for (int i = 0; i < ExtraXML.Length; i++)
            {
                ExtraXML[i] = rdr.ReadUTF();
            }

            Music = rdr.ReadUTF();
        }
        protected override void Read(ClientProcessor psr, NReader rdr)
        {
            Tiles = new TileData[rdr.ReadInt16()];
            for (var i = 0; i < Tiles.Length; i++)
            {
                Tiles[i] = new TileData
                {
                    X    = rdr.ReadInt16(),
                    Y    = rdr.ReadInt16(),
                    Tile = (Tile)rdr.ReadByte()
                };
            }

            NewObjects = new ObjectDef[rdr.ReadInt16()];
            for (var i = 0; i < NewObjects.Length; i++)
            {
                NewObjects[i] = ObjectDef.Read(rdr);
            }

            RemovedObjectIds = new int[rdr.ReadInt16()];
            for (var i = 0; i < RemovedObjectIds.Length; i++)
            {
                RemovedObjectIds[i] = rdr.ReadInt32();
            }
        }
示例#6
0
 protected override void Read(Client client, NReader rdr)
 {
     BulletId      = rdr.ReadByte();
     OwnerId       = rdr.ReadInt32();
     ContainerType = rdr.ReadInt16();
     Position      = Position.Read(rdr);
     Angle         = rdr.ReadSingle();
     Damage        = rdr.ReadInt16();
 }
示例#7
0
 protected override void Read(NReader rdr)
 {
     BulletId      = rdr.ReadByte();
     OwnerId       = rdr.ReadInt32();
     ContainerType = rdr.ReadInt16();
     StartingPos   = Position.Read(rdr);
     Angle         = rdr.ReadSingle();
     Damage        = rdr.ReadInt16();
 }
示例#8
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     ContainerType = rdr.ReadInt16();
     Position = Position.Read(rdr);
     Angle = rdr.ReadSingle();
     Damage = rdr.ReadInt16();
 }
        protected override void Read(ClientProcessor psr, NReader rdr)
        {
            MyOffers = new bool[rdr.ReadInt16()];
            for (var i = 0; i < MyOffers.Length; i++)
                MyOffers[i] = rdr.ReadBoolean();

            YourOffers = new bool[rdr.ReadInt16()];
            for (var i = 0; i < YourOffers.Length; i++)
                YourOffers[i] = rdr.ReadBoolean();
        }
        protected override void Read(NReader rdr)
        {
            MyOffers = new bool[rdr.ReadInt16()];
            for (int i = 0; i < MyOffers.Length; i++)
                MyOffers[i] = rdr.ReadBoolean();

            YourOffers = new bool[rdr.ReadInt16()];
            for (int i = 0; i < YourOffers.Length; i++)
                YourOffers[i] = rdr.ReadBoolean();
        }
        protected override void Read(ClientProcessor psr, NReader rdr)
        {
            MyOffers = new bool[rdr.ReadInt16()];
            for (var i = 0; i < MyOffers.Length; i++)
                MyOffers[i] = rdr.ReadBoolean();

            YourOffers = new bool[rdr.ReadInt16()];
            for (var i = 0; i < YourOffers.Length; i++)
                YourOffers[i] = rdr.ReadBoolean();
        }
        protected override void Read(ClientProcessor psr, NReader rdr)
        {
            MyItems = new TradeItem[rdr.ReadInt16()];
            for (var i = 0; i < MyItems.Length; i++)
                MyItems[i] = TradeItem.Read(rdr);

            YourName = rdr.ReadUTF();
            YourItems = new TradeItem[rdr.ReadInt16()];
            for (var i = 0; i < YourItems.Length; i++)
                YourItems[i] = TradeItem.Read(rdr);
        }
        protected override void Read(NReader rdr)
        {
            MyItems = new TradeItem[rdr.ReadInt16()];
            for (int i = 0; i < MyItems.Length; i++)
                MyItems[i] = TradeItem.Read(rdr);

            YourName = rdr.ReadUTF();
            YourItems = new TradeItem[rdr.ReadInt16()];
            for (int i = 0; i < YourItems.Length; i++)
                YourItems[i] = TradeItem.Read(rdr);
        }
示例#14
0
文件: Client.cs 项目: Bog624s/LR-v1
        public void TestHello(string username, string password)
        {
            MemoryStream s = new MemoryStream();

            using (var wtr = new NWriter(s))
            {
                wtr.WriteUTF("0.5.2");
                wtr.Write(-2);
                wtr.WriteUTF(RSA.Instance.Encrypt(username));
                wtr.WriteUTF(RSA.Instance.Encrypt(password));
                wtr.WriteUTF(RSA.Instance.Encrypt(""));
                wtr.Write(0);
                wtr.Write(1);
                wtr.Write(new byte[] { 1 });
                wtr.Write32UTF("");
                wtr.WriteUTF("");
                wtr.WriteUTF("");
                wtr.WriteUTF("");
                wtr.WriteUTF("");
            }

            SendPacket(new Packet(PacketID.Hello, s.ToArray()));
            Console.WriteLine("Receiving MapInfo packet...");
            var pkt = ReceivePacket(PacketID.MapInfo);

            using (var rdr = new NReader(new MemoryStream(pkt.body)))
            {
                var Width         = rdr.ReadInt32();
                var Height        = rdr.ReadInt32();
                var Name          = rdr.ReadUTF();
                var Seed          = rdr.ReadUInt32();
                var Background    = rdr.ReadInt32();
                var AllowTeleport = rdr.ReadBoolean();
                var ShowDisplays  = rdr.ReadBoolean();

                var ClientXML = new string[rdr.ReadInt16()];
                for (int i = 0; i < ClientXML.Length; i++)
                {
                    ClientXML[i] = rdr.Read32UTF();
                }

                var ExtraXML = new string[rdr.ReadInt16()];
                for (int i = 0; i < ExtraXML.Length; i++)
                {
                    ExtraXML[i] = rdr.Read32UTF();
                }

                Console.WriteLine("Grabbed info from " + Name + ".");
                Console.WriteLine("There are " + ExtraXML.Length.ToString() + " XML files.");
            }
        }
示例#15
0
        protected override void Read(NReader rdr)
        {
            MyOffers = new bool[rdr.ReadInt16()];
            for (int i = 0; i < MyOffers.Length; i++)
            {
                MyOffers[i] = rdr.ReadBoolean();
            }

            YourOffers = new bool[rdr.ReadInt16()];
            for (int i = 0; i < YourOffers.Length; i++)
            {
                YourOffers[i] = rdr.ReadBoolean();
            }
        }
示例#16
0
        protected override void Read(ClientProcessor psr, NReader rdr)
        {
            MyItems = new TradeItem[rdr.ReadInt16()];
            for (int i = 0; i < MyItems.Length; i++)
            {
                MyItems[i] = TradeItem.Read(rdr);
            }

            YourName  = rdr.ReadUTF();
            YourItems = new TradeItem[rdr.ReadInt16()];
            for (int i = 0; i < YourItems.Length; i++)
            {
                YourItems[i] = TradeItem.Read(rdr);
            }
        }
示例#17
0
        protected override void Read(NReader rdr)
        {
            Items = new ushort[rdr.ReadInt16()];
            for (int i = 0; i < Items.Length; i++)
            {
                Items[i] = (ushort)rdr.ReadInt32();
            }


            Datas = new ItemData[rdr.ReadInt16()];
            for (int i = 0; i < Datas.Length; i++)
            {
                Datas[i] = ItemData.CreateData(rdr.ReadUTF());
            }
        }
示例#18
0
 protected override void Read(NReader rdr)
 {
     BulletId      = rdr.ReadByte();
     OwnerId       = rdr.ReadInt32();
     ContainerType = (ushort)rdr.ReadInt16();
     Angle         = rdr.ReadSingle();
 }
示例#19
0
        public void FromJson(string json)
        {
            var obj = JsonConvert.DeserializeObject <json_dat>(json);

            byte[] dat = ZlibStream.UncompressBuffer(obj.data);
            Init(obj.width, obj.height);
            using (var rdr = new NReader(new MemoryStream(dat)))
                for (int y = 0; y < obj.height; y++)
                {
                    for (int x = 0; x < obj.width; x++)
                    {
                        loc loc = obj.dict[rdr.ReadInt16()];
                        if (loc.ground != null)
                        {
                            Tiles[x][y] = (Tile)this.dat.IdToTileType[loc.ground];
                        }
                        else
                        {
                            Tiles[x][y] = (Tile)0xff;
                        }
                        if (loc.objs != null)
                        {
                            //Entities[x][y] = new Entity[loc.objs.Length];
                            //int i = 0;
                            //foreach (var z in loc.objs)
                            //{
                            //    Entities[x][y][i] = new Entity() { ObjectType = Objects.id2type[z.id], X = x, Y = y };
                            //}
                        }
                    }
                }
        }
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     AccountListId = rdr.ReadInt32();
     AccountIds = new int[rdr.ReadInt16()];
     for (int i = 0; i < AccountIds.Length; i++)
         AccountIds[i] = rdr.ReadInt32();
 }
 protected override void Read(NReader rdr)
 {
     AccountListId = rdr.ReadInt32();
     AccountIds = new int[rdr.ReadInt16()];
     for (var i = 0; i < AccountIds.Length; i++)
         AccountIds[i] = rdr.ReadInt32();
 }
示例#22
0
 protected override void Read(Client client, NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     ContainerType = rdr.ReadInt16();
     Angle = rdr.ReadSingle();
 }
        public static byte[] Convert(string json)
        {
            var obj = JsonConvert.DeserializeObject<json_dat>(json);
            var dat = ZlibStream.UncompressBuffer(obj.data);

            Dictionary<short, TerrainTile> tileDict = new Dictionary<short, TerrainTile>();
            for (int i = 0; i < obj.dict.Length; i++)
            {
                var o = obj.dict[i];
                tileDict[(short)i] = new TerrainTile()
                {
                    TileId = o.ground == null ? (short)0xff : XmlDatas.IdToType[o.ground],
                    TileObj = o.objs == null ? null : o.objs[0].id,
                    Name = o.objs == null ? "" : o.objs[0].name ?? "",
                    Terrain = TerrainType.None,
                    Region = o.regions == null ? TileRegion.None : (TileRegion)Enum.Parse(typeof(TileRegion), o.regions[0].id.Replace(' ', '_'))
                };
            }

            var tiles = new TerrainTile[obj.width, obj.height];
            using (NReader rdr = new NReader(new MemoryStream(dat)))
                for (int y = 0; y < obj.height; y++)
                    for (int x = 0; x < obj.width; x++)
                    {
                        tiles[x, y] = tileDict[rdr.ReadInt16()];
                    }
            return Export(tiles);
        }
示例#24
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     BulletId      = rdr.ReadByte();
     OwnerId       = rdr.ReadInt32();
     ContainerType = rdr.ReadInt16();
     Angle         = rdr.ReadSingle();
 }
示例#25
0
        public static byte[] Convert(XmlData data, string json)
        {
            var obj = JsonConvert.DeserializeObject <json_dat>(json);
            var dat = ZlibStream.UncompressBuffer(obj.data);

            Dictionary <short, TerrainTile> tileDict = new Dictionary <short, TerrainTile>();

            for (int i = 0; i < obj.dict.Length; i++)
            {
                var o = obj.dict[i];
                tileDict[(short)i] = new TerrainTile()
                {
                    TileId  = o.ground == null ? (ushort)0xff : data.IdToTileType[o.ground],
                    TileObj = o.objs == null ? null : o.objs[0].id,
                    Name    = o.objs == null ? "" : o.objs[0].name ?? "",
                    Terrain = TerrainType.None,
                    Region  = o.regions == null ? TileRegion.None : (TileRegion)Enum.Parse(typeof(TileRegion), o.regions[0].id.Replace(' ', '_'))
                };
            }

            var tiles = new TerrainTile[obj.width, obj.height];

            using (NReader rdr = new NReader(new MemoryStream(dat)))
                for (int y = 0; y < obj.height; y++)
                {
                    for (int x = 0; x < obj.width; x++)
                    {
                        tiles[x, y] = tileDict[rdr.ReadInt16()];
                    }
                }
            return(WorldMapExporter.Export(tiles));
        }
示例#26
0
 public void FromJson(string json)
 {
     var obj = JsonConvert.DeserializeObject<json_dat>(json);
     byte[] dat = ZlibStream.UncompressBuffer(obj.data);
     Init(obj.width, obj.height);
     using (var rdr = new NReader(new MemoryStream(dat)))
         for (int y = 0; y < obj.height; y++)
             for (int x = 0; x < obj.width; x++)
             {
                 loc loc = obj.dict[rdr.ReadInt16()];
                 if (loc.ground != null)
                     Tiles[x][y] = (Tile) this.dat.IdToTileType[loc.ground];
                 else
                     Tiles[x][y] = (Tile) 0xff;
                 if (loc.objs != null)
                 {
                     //Entities[x][y] = new Entity[loc.objs.Length];
                     //int i = 0;
                     //foreach (var z in loc.objs)
                     //{
                     //    Entities[x][y][i] = new Entity() { ObjectType = Objects.id2type[z.id], X = x, Y = y };
                     //}
                 }
             }
 }
示例#27
0
 protected override void Read(NReader rdr)
 {
     Offer = new bool[rdr.ReadInt16()];
     for (int i = 0; i < Offer.Length; i++)
     {
         Offer[i] = rdr.ReadBoolean();
     }
 }
示例#28
0
        public void TestHello(string username, string password)
        {
            var s = new MemoryStream();
            using (var wtr = new NWriter(s))
            {
                wtr.WriteUTF("0.5.2");
                wtr.Write(-2);
                wtr.WriteUTF(RSA.Instance.Encrypt(username));
                wtr.WriteUTF(RSA.Instance.Encrypt(password));
                wtr.WriteUTF(RSA.Instance.Encrypt(""));
                wtr.Write(0);
                wtr.Write(1);
                wtr.Write(new byte[] { 1 });
                wtr.Write32UTF("");
                wtr.WriteUTF("");
                wtr.WriteUTF("");
                wtr.WriteUTF("");
                wtr.WriteUTF("");
            }

            SendPacket(new Packet(PacketID.Hello, s.ToArray()));
            Console.WriteLine("Receiving MapInfo packet...");
            var pkt = ReceivePacket(PacketID.MapInfo);

            using (var rdr = new NReader(new MemoryStream(pkt.body)))
            {
                var Width = rdr.ReadInt32();
                var Height = rdr.ReadInt32();
                var Name = rdr.ReadUTF();
                var Seed = rdr.ReadUInt32();
                var Background = rdr.ReadInt32();
                var AllowTeleport = rdr.ReadBoolean();
                var ShowDisplays = rdr.ReadBoolean();

                var ClientXML = new string[rdr.ReadInt16()];
                for (var i = 0; i < ClientXML.Length; i++)
                    ClientXML[i] = rdr.Read32UTF();

                var ExtraXML = new string[rdr.ReadInt16()];
                for (var i = 0; i < ExtraXML.Length; i++)
                    ExtraXML[i] = rdr.Read32UTF();

                Console.WriteLine("Grabbed info from " + Name + ".");
                Console.WriteLine("There are " + ExtraXML.Length + " XML files.");
            }
        }
示例#29
0
 protected override void Read(NReader rdr)
 {
     Results = new MarketData[rdr.ReadInt16()];
     for (var i = 0; i < Results.Length; i++)
     {
         Results[i] = MarketData.Read(rdr);
     }
 }
 protected override void Read(Client psr, NReader rdr)
 {
     Time             = rdr.ReadInt32();
     BulletId         = rdr.ReadByte();
     ContainerType    = rdr.ReadInt16();
     StartingPosition = Position.Read(psr, rdr);
     Angle            = rdr.ReadSingle();
 }
示例#31
0
 protected override void Read(NReader rdr)
 {
     Items = new ushort[rdr.ReadInt16()];
     for (int i = 0; i < Items.Length; i++)
     {
         Items[i] = (ushort)rdr.ReadInt32();
     }
 }
示例#32
0
 protected override void Read(NReader rdr)
 {
     Time          = rdr.ReadInt32();
     BulletId      = rdr.ReadByte();
     ContainerType = rdr.ReadInt16();
     Position      = Position.Read(rdr);
     Angle         = rdr.ReadSingle();
 }
示例#33
0
 protected override void Read(Client psr, NReader rdr)
 {
     Offers = new bool[rdr.ReadInt16()];
     for (int i = 0; i < Offers.Length; i++)
     {
         Offers[i] = rdr.ReadBoolean();
     }
 }
 protected override void Read(Client psr, NReader rdr)
 {
     AccountListId = rdr.ReadInt32();
     AccountIds = new string[rdr.ReadInt16()];
     for (int i = 0; i < AccountIds.Length; i++)
         AccountIds[i] = rdr.ReadUTF();
     LockAction = rdr.ReadInt32();
 }
示例#35
0
 protected override void Read(NReader rdr)
 {
     AccountListId = rdr.ReadInt32();
     AccountIds = new string[rdr.ReadInt16()];
     for (int i = 0; i < AccountIds.Length; i++)
         AccountIds[i] = rdr.ReadUTF();
     LockAction = rdr.ReadInt32();
 }
示例#36
0
 protected override void Read(NReader rdr)
 {
     Time = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
     ContainerType = rdr.ReadInt16();
     Position = Position.Read(rdr);
     Angle = rdr.ReadSingle();
 }
示例#37
0
        public static ObjectDef Read(NReader rdr)
        {
            ObjectDef ret = new ObjectDef();

            ret.ObjectType = (ushort)rdr.ReadInt16();
            ret.Stats      = ObjectStats.Read(rdr);
            return(ret);
        }
 protected override void Read(NReader rdr)
 {
     MyItems = new TradeItem[rdr.ReadInt16()];
     for (int i = 0; i < MyItems.Length; i++)
     {
         MyItems[i] = TradeItem.Read(rdr);
     }
 }
 protected override void Read(Client psr, NReader rdr)
 {
     Position       = Position.Read(psr, rdr);
     Radius         = rdr.ReadSingle();
     Damage         = rdr.ReadUInt16();
     Effects        = (ConditionEffectIndex)rdr.ReadByte();
     EffectDuration = rdr.ReadSingle();
     OriginType     = rdr.ReadInt16();
 }
 protected override void Read(Client psr, NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     ContainerType = rdr.ReadInt32();
     StartingPos = Position.Read(psr, rdr);
     Angle = rdr.ReadSingle();
     Damage = rdr.ReadInt16();
 }
示例#41
0
        public static ObjectSlot Read(NReader rdr)
        {
            ObjectSlot ret = new ObjectSlot();

            ret.ObjectId   = rdr.ReadInt32();
            ret.SlotId     = rdr.ReadByte();
            ret.ObjectType = (ushort)rdr.ReadInt16();
            return(ret);
        }
 protected override void Read(NReader rdr)
 {
     AccountListId = rdr.ReadInt32();
     AccountIds    = new int[rdr.ReadInt16()];
     for (var i = 0; i < AccountIds.Length; i++)
     {
         AccountIds[i] = rdr.ReadInt32();
     }
 }
示例#43
0
        protected override void Read(ClientProcessor psr, NReader rdr)
        {
            Width = rdr.ReadInt32();
            Height = rdr.ReadInt32();
            Name = rdr.ReadUTF();
            Seed = rdr.ReadUInt32();
            Background = rdr.ReadInt32();
            AllowTeleport = rdr.ReadBoolean();
            ShowDisplays = rdr.ReadBoolean();

            ClientXML = new string[rdr.ReadInt16()];
            for (var i = 0; i < ClientXML.Length; i++)
                ClientXML[i] = rdr.Read32UTF();

            ExtraXML = new string[rdr.ReadInt16()];
            for (var i = 0; i < ExtraXML.Length; i++)
                ExtraXML[i] = rdr.Read32UTF();
        }
        protected override void Read(ClientProcessor psr, NReader rdr)
        {
            TickId = rdr.ReadInt32();
            TickTime = rdr.ReadInt32();

            UpdateStatuses = new ObjectStats[rdr.ReadInt16()];
            for (var i = 0; i < UpdateStatuses.Length; i++)
                UpdateStatuses[i] = ObjectStats.Read(rdr);
        }
        protected override void Read(NReader rdr)
        {
            TickId = rdr.ReadInt32();
            TickTime = rdr.ReadInt32();

            UpdateStatuses = new ObjectStats[rdr.ReadInt16()];
            for (int i = 0; i < UpdateStatuses.Length; i++)
                UpdateStatuses[i] = ObjectStats.Read(rdr);
        }
示例#46
0
 protected override void Read(NReader rdr)
 {
     TickId = rdr.ReadInt32();
     Time = rdr.ReadInt32();
     Position = Position.Read(rdr);
     Records = new TimedPosition[rdr.ReadInt16()];
     for (var i = 0; i < Records.Length; i++)
         Records[i] = TimedPosition.Read(rdr);
 }
示例#47
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     AccountListId = rdr.ReadInt32();
     AccountIds    = new int[rdr.ReadInt16()];
     for (int i = 0; i < AccountIds.Length; i++)
     {
         AccountIds[i] = rdr.ReadInt32();
     }
 }
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     Name = rdr.ReadUTF();
     Host = rdr.ReadUTF();
     Port = rdr.ReadInt32();
     GameId = rdr.ReadInt32();
     KeyTime = rdr.ReadInt32();
     Key = rdr.ReadBytes(rdr.ReadInt16());
 }
示例#49
0
 protected override void Read(Client client, NReader rdr)
 {
     Name    = rdr.ReadUTF();
     Host    = rdr.ReadUTF();
     Port    = rdr.ReadInt32();
     GameId  = rdr.ReadInt32();
     KeyTime = rdr.ReadInt32();
     Key     = rdr.ReadBytes(rdr.ReadInt16());
 }
示例#50
0
 protected override void Read(NReader rdr)
 {
     Position = Position.Read(rdr);
     Radius = rdr.ReadSingle();
     Damage = rdr.ReadUInt16();
     Effects = (ConditionEffectIndex)rdr.ReadByte();
     EffectDuration = rdr.ReadSingle();
     OriginType = rdr.ReadInt16();
 }
示例#51
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     Position = Position.Read(rdr);
     Radius = rdr.ReadSingle();
     Damage = rdr.ReadUInt16();
     Effects = (ConditionEffectIndex) rdr.ReadByte();
     EffectDuration = rdr.ReadSingle();
     OriginType = rdr.ReadInt16();
     Color = ARGB.Read(rdr);
 }
示例#52
0
 protected override void Read(NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     ContainerType = rdr.ReadUInt16();
     Position = Position.Read(rdr);
     Angle = rdr.ReadSingle();
     Damage = rdr.ReadInt16();
     FromAbility = rdr.ReadBoolean();
 }
 protected override void Read(Client psr, NReader rdr)
 {
     Name = rdr.ReadUTF();
     Host = rdr.ReadUTF();
     Port = rdr.ReadInt32();
     GameId = rdr.ReadInt32();
     KeyTime = rdr.ReadInt32();
     IsFromArena = rdr.ReadBoolean();
     Key = new byte[rdr.ReadInt16()];
     Key = rdr.ReadBytes(Key.Length);
 }
 protected override void Read(NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     BulletType = rdr.ReadByte();
     Position = Position.Read(rdr);
     Angle = rdr.ReadSingle();
     Damage = rdr.ReadInt16();
     NumShots = rdr.ReadByte();
     AngleIncrement = rdr.ReadSingle();
 }
        public static byte[] ConvertMakeWalls(RealmManager manager, string json)
        {
            json_dat obj = JsonConvert.DeserializeObject<json_dat>(json);
            byte[] dat = ZlibStream.UncompressBuffer(obj.data);

            Dictionary<ushort, TerrainTile> tileDict = new Dictionary<ushort, TerrainTile>();
            for (int i = 0; i < obj.dict.Length; i++)
            {
                loc o = obj.dict[i];
                tileDict[(ushort)i] = new TerrainTile
                {
                    TileId = o.ground == null ? (ushort)0xff : manager.GameData.IdToObjectType[o.ground],
                    TileObj = o.objs == null ? null : o.objs[0].id,
                    Name = o.objs == null ? "" : o.objs[0].name ?? "",
                    Terrain = TerrainType.None,
                    Region =
                        o.regions == null
                            ? TileRegion.None
                            : (TileRegion)Enum.Parse(typeof(TileRegion), o.regions[0].id.Replace(' ', '_'))
                };
            }

            TerrainTile[,] tiles = new TerrainTile[obj.width, obj.height];
            using (NReader rdr = new NReader(new MemoryStream(dat)))
                for (int y = 0; y < obj.height; y++)
                    for (int x = 0; x < obj.width; x++)
                    {
                        tiles[x, y] = tileDict[(ushort)rdr.ReadInt16()];
                        tiles[x, y].X = x;
                        tiles[x, y].Y = y;
                    }

            foreach (TerrainTile i in tiles)
            {
                if (i.TileId == 0xff && i.TileObj == null)
                {
                    bool createWall = false;
                    for (int ty = -1; ty <= 1; ty++)
                        for (int tx = -1; tx <= 1; tx++)
                            try
                            {
                                if (tiles[i.X + tx, i.Y + ty].TileId != 0xff)
                                    createWall = true;
                            }
                            catch
                            {
                            }
                    if (createWall)
                        tiles[i.X, i.Y].TileObj = "Grey Wall";
                }
            }

            return WorldMapExporter.Export(tiles);
        }
 protected override void Read(Client psr, NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     BulletType = rdr.ReadByte();
     Position = Position.Read(psr, rdr);
     Angle = rdr.ReadSingle();
     Damage = rdr.ReadInt16();
     if (rdr.BaseStream.Length - rdr.BaseStream.Position <= 0) return;
     NumShots = rdr.ReadByte();
     AngleInc = rdr.ReadSingle();
 }
        protected override void Read(Client psr, NReader rdr)
        {
            Tiles = new TileData[rdr.ReadInt16()];
            for (int i = 0; i < Tiles.Length; i++)
            {
                Tiles[i] = new TileData
                {
                    X = rdr.ReadInt16(),
                    Y = rdr.ReadInt16(),
                    Tile = rdr.ReadUInt16()
                };
            }

            NewObjects = new ObjectDef[rdr.ReadInt16()];
            for (int i = 0; i < NewObjects.Length; i++)
                NewObjects[i] = ObjectDef.Read(psr, rdr);

            RemovedObjectIds = new int[rdr.ReadInt16()];
            for (int i = 0; i < RemovedObjectIds.Length; i++)
                RemovedObjectIds[i] = rdr.ReadInt32();
        }
示例#58
0
        protected override void Read(NReader rdr)
        {
            Tiles = new TileData[rdr.ReadInt16()];
            for (var i = 0; i < Tiles.Length; i++)
            {
                Tiles[i] = new TileData()
                {
                    X = rdr.ReadInt16(),
                    Y = rdr.ReadInt16(),
                    Tile = (Tile)rdr.ReadByte()
                };
            }

            NewObjects = new ObjectDef[rdr.ReadInt16()];
            for (var i = 0; i < NewObjects.Length; i++)
                NewObjects[i] = ObjectDef.Read(rdr);

            RemovedObjectIds = new int[rdr.ReadInt16()];
            for (var i = 0; i < RemovedObjectIds.Length; i++)
                RemovedObjectIds[i] = rdr.ReadInt32();
        }
示例#59
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     BuildVersion = rdr.ReadUTF();
     GameId = rdr.ReadInt32();
     GUID = RSA.Instance.Decrypt(rdr.ReadUTF());
     Password = RSA.Instance.Decrypt(rdr.ReadUTF());
     Secret = RSA.Instance.Decrypt(rdr.ReadUTF());
     KeyTime = rdr.ReadInt32();
     Key = rdr.ReadBytes(rdr.ReadInt16());
     MapInfo = rdr.Read32UTF();
     __Rw = rdr.ReadUTF();
     __06U = rdr.ReadUTF();
     __LK = rdr.ReadUTF();
     PlayPlatform = rdr.ReadUTF();
 }
 protected override void Read(Client psr, NReader rdr)
 {
     BuildVersion = rdr.ReadUTF();
     GameId = rdr.ReadInt32();
     GUID = RSA.Instance.Decrypt(rdr.ReadUTF());
     rdr.ReadInt32();
     Password = RSA.Instance.Decrypt(rdr.ReadUTF());
     randomint1 = rdr.ReadInt32();
     Secret = rdr.ReadUTF();
     KeyTime = rdr.ReadInt32();
     Key = rdr.ReadBytes(rdr.ReadInt16());
     MapInfo = rdr.ReadBytes(rdr.ReadInt32());
     obf1 = rdr.ReadUTF();
     obf2 = rdr.ReadUTF();
     obf3 = rdr.ReadUTF();
     obf4 = rdr.ReadUTF();
     obf5 = rdr.ReadUTF();
 }