本文整理汇总了C#中Vertex.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# Vertex.Clone方法的具体用法?C# Vertex.Clone怎么用?C# Vertex.Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vertex
的用法示例。
在下文中一共展示了Vertex.Clone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSurroundingAreaOf
/// <summary>
/// calculates surrounding area of given visible area
/// starts in center and moves by step = patchSize
/// </summary>
/// <param name="extraPatchCount">how many extra patches will be contained</param>
/// <returns></returns>
public Area GetSurroundingAreaOf(Vertex centerOnGrid,Area visibleArea,int patchSize, int extraPatchCount)
{
Vertex botLeft;
Vertex topRight;
if (!visibleArea.Contains(centerOnGrid) || patchSize <= 0)
{
Debug.Log("centerOnGrid not in visible area: " + centerOnGrid);
botLeft = new Vertex(centerOnGrid.x - patchSize, centerOnGrid.z - patchSize);
topRight = new Vertex(centerOnGrid.x + patchSize, centerOnGrid.z + patchSize);
return new Area(botLeft, topRight);
}
//get most left coordinate
Vertex pointLeft = centerOnGrid.Clone(); ;
while (visibleArea.Contains(pointLeft)){
pointLeft.x -= patchSize;
}
//get most bot coordinate
Vertex pointBot = centerOnGrid.Clone(); ;
while (visibleArea.Contains(pointBot))
{
pointBot.z -= patchSize;
}
//get most right coordinate
Vertex pointRight = centerOnGrid.Clone(); ;
while (visibleArea.Contains(pointRight))
{
pointRight.x += patchSize;
}
//get most top coordinate
Vertex pointTop = centerOnGrid.Clone(); ;
while (visibleArea.Contains(pointTop))
{
pointTop.z += patchSize;
}
botLeft = new Vertex(pointLeft.x - extraPatchCount * patchSize,
pointBot.z - extraPatchCount * patchSize);
topRight = new Vertex(pointRight.x + extraPatchCount * patchSize,
pointTop.z + extraPatchCount * patchSize);
return new Area(botLeft, topRight);
}