本文整理汇总了C#中TileIndex.GetLowerTile方法的典型用法代码示例。如果您正苦于以下问题:C# TileIndex.GetLowerTile方法的具体用法?C# TileIndex.GetLowerTile怎么用?C# TileIndex.GetLowerTile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TileIndex
的用法示例。
在下文中一共展示了TileIndex.GetLowerTile方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestGetLowerTile
public void TestGetLowerTile()
{
var tile = new TileIndex(-1, -1, 1);
var lowerTile = tile.GetLowerTile();
Assert.AreEqual(new TileIndex(-1, -1, 0), lowerTile);
Assert.AreEqual(new TileIndex(0, 0, 0), new TileIndex(1, 1, 1).GetLowerTile());
}
示例2: Contains
public bool Contains(TileIndex id)
{
int level = id.Level;
if (level < minLevel || level > maxLevel)
return false;
TileIndex parent = id.GetLowerTile(levelDelta);
ulong cacheLine;
if (cache.TryGetValue(parent, out cacheLine))
{
int x = id.X - parent.X * levelSize;
int y = id.Y - parent.Y * levelSize;
int position = x * levelSize + y;
return (cacheLine & ((ulong)1 << position)) != 0;
}
return false;
}
示例3: Add
public void Add(TileIndex id, bool exists)
{
ulong cacheLine = 0;
TileIndex parent = id.GetLowerTile(levelDelta);
cache.TryGetValue(parent, out cacheLine);
int x = id.X - parent.X * levelSize;
int y = id.Y - parent.Y * levelSize;
int position = x * levelSize + y;
if (exists)
{
cacheLine |= ((ulong)1) << position;
}
else
{
cacheLine &= ~(((ulong)1) << position);
}
cache[parent] = cacheLine;
}