本文整理汇总了C#中BlueSheep.Common.IO.BigEndianReader.ReadBytes方法的典型用法代码示例。如果您正苦于以下问题:C# BigEndianReader.ReadBytes方法的具体用法?C# BigEndianReader.ReadBytes怎么用?C# BigEndianReader.ReadBytes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BlueSheep.Common.IO.BigEndianReader
的用法示例。
在下文中一共展示了BigEndianReader.ReadBytes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Init
internal void Init(BigEndianReader reader)
{
reader.ReadByte();
this.MapVersion = reader.ReadByte();
this.Id = (int)reader.ReadUInt();
if (this.MapVersion >= 7)
{
this.Encrypted = reader.ReadBoolean();
this.EncryptedVersion = reader.ReadByte();
int count = reader.ReadInt();
if (this.Encrypted)
{
byte[] buffer = CustomHex.ToArray(CustomHex.FromString("649ae451ca33ec53bbcbcc33becf15f4", false));
byte[] buffer2 = reader.ReadBytes(count);
int num7 = (buffer2.Length - 1);
int n = 0;
while (n <= num7)
{
buffer2[n] = Convert.ToByte((buffer2[n] ^ buffer[(n % buffer.Length)]));
n += 1;
}
reader = new BigEndianReader(buffer2);
}
}
this.RelativeId = (int)reader.ReadUInt();
this.MapType = reader.ReadByte();
this.SubAreaId = reader.ReadInt();
this.TopNeighbourId = reader.ReadInt();
this.BottomNeighbourId = reader.ReadInt();
this.LeftNeighbourId = reader.ReadInt();
this.RightNeighbourId = reader.ReadInt();
this.ShadowBonusOnEntities = reader.ReadInt();
if (this.MapVersion >= 3)
{
this.BackgroundRed = reader.ReadByte();
this.BackgroundGreen = reader.ReadByte();
this.BackgroundBlue = reader.ReadByte();
}
if (this.MapVersion >= 4)
{
this.ZoomScale = (Convert.ToDouble(reader.ReadUShort()) / 100);
this.ZoomOffsetX = reader.ReadShort();
this.ZoomOffsetY = reader.ReadShort();
}
this.UseLowPassFilter = reader.ReadBoolean();
this.UseReverb = reader.ReadBoolean();
if (this.UseReverb)
{
this.PresetId = reader.ReadInt();
}
this.BackgroundsCount = reader.ReadByte();
int backgroundsCount = this.BackgroundsCount;
int i = 1;
while (i <= backgroundsCount)
{
Fixture item = new Fixture();
item.Init(reader);
this.BackgroundFixtures.Add(item);
i += 1;
}
this.ForegroundsCount = reader.ReadByte();
int foregroundsCount = this.ForegroundsCount;
int j = 1;
while (j <= foregroundsCount)
{
Fixture fixture2 = new Fixture();
fixture2.Init(reader);
this.ForegroundFixtures.Add(fixture2);
j += 1;
}
this.CellsCount = 560;
reader.ReadInt();
this.GroundCRC = reader.ReadInt().ToString();
this.LayersCount = reader.ReadByte();
int layersCount = this.LayersCount;
int k = 1;
while (k <= layersCount)
{
Layer layer = new Layer();
layer.Init(reader, this.MapVersion);
this.Layers.Add(layer);
k += 1;
}
int cellsCount = this.CellsCount;
int m = 1;
uint oldMvtSys = 0;
while (m <= cellsCount)
{
CellData data = new CellData();
data.Init(reader, this.MapVersion);
if (oldMvtSys == 0)
{
oldMvtSys = (uint)data.MoveZone;
}
if (data.MoveZone != oldMvtSys)
{
IsUsingNewMovementSystem = true;
}
this.Cells.Add(data);
m += 1;
//.........这里部分代码省略.........