本文整理汇总了C#中SharpTibiaProxy.Network.InMessage.PeekUShort方法的典型用法代码示例。如果您正苦于以下问题:C# InMessage.PeekUShort方法的具体用法?C# InMessage.PeekUShort怎么用?C# InMessage.PeekUShort使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SharpTibiaProxy.Network.InMessage
的用法示例。
在下文中一共展示了InMessage.PeekUShort方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParseServerUpdateTile
private void ParseServerUpdateTile(InMessage message)
{
Location location = message.ReadLocation();
var thingId = message.PeekUShort();
if (thingId == 0xFF01)
{
message.ReadUShort();
Tile tile = client.Map.GetTile(location);
if (tile == null)
throw new Exception("[ParseServerUpdateTile] Tile not found.");
tile.Clear();
}
else
{
ParseServerTileDescription(message, location);
message.ReadUShort();
}
}
示例2: ParseServerFloorDescription
private void ParseServerFloorDescription(InMessage message, List<Tile> tiles, int x, int y, int z, int width, int height, int offset, ref int skipTiles)
{
for (int nx = 0; nx < width; nx++)
{
for (int ny = 0; ny < height; ny++)
{
if (skipTiles == 0)
{
var tileOpt = message.PeekUShort();
// Decide if we have to skip tiles
// or if it is a real tile
if (tileOpt >= 0xFF00)
skipTiles = (short)(message.ReadUShort() & 0xFF);
else
{
//real tile so read tile
tiles.Add(ParseServerTileDescription(message, new Location(x + nx + offset, y + ny + offset, z)));
skipTiles = (short)(message.ReadUShort() & 0xFF);
}
}
else
skipTiles--;
}
}
}
示例3: ParseServerTileDescription
private Tile ParseServerTileDescription(InMessage message, Location location)
{
Tile tile = new Tile(location);
if (message.PeekUShort() < 0xFF00)
message.ReadUShort();
while (message.PeekUShort() < 0xFF00)
tile.AddThing(GetThing(message));
client.Map.SetTile(tile);
return tile;
}