本文整理汇总了C#中Quad.ContainsTopPointsFromOtherQuad方法的典型用法代码示例。如果您正苦于以下问题:C# Quad.ContainsTopPointsFromOtherQuad方法的具体用法?C# Quad.ContainsTopPointsFromOtherQuad怎么用?C# Quad.ContainsTopPointsFromOtherQuad使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Quad
的用法示例。
在下文中一共展示了Quad.ContainsTopPointsFromOtherQuad方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSortingOrder
private int GetSortingOrder(Quad newQuad, List<Building> buildings) {
int numberToCheck = Mathf.Min(buildings.Count, numBuildingsToCheck);
int sortingOrder;
int? sortingOrderUpperLimit = null;
int? sortingOrderLowerLimit = null;
for (int i = 1; i <= numberToCheck; i++) {
int index = buildings.Count - i;
Building otherBuilding = buildings[index];
Quad otherQuad = otherBuilding.attributes.quad;
if (!Quad.OverlapQuads(newQuad, otherQuad)) continue;
if (newQuad.ContainsTopPointsFromOtherQuad(otherQuad)) {
if (sortingOrderUpperLimit != null) sortingOrderUpperLimit = Mathf.Min((int)sortingOrderUpperLimit, otherBuilding.attributes.sortingOrder);
else sortingOrderUpperLimit = otherBuilding.attributes.sortingOrder;
}
else if (otherQuad.ContainsTopPointsFromOtherQuad(newQuad)) {
if (sortingOrderLowerLimit != null) sortingOrderLowerLimit = Mathf.Max((int)sortingOrderLowerLimit, otherBuilding.attributes.sortingOrder);
else sortingOrderLowerLimit = otherBuilding.attributes.sortingOrder;
}
}
if (sortingOrderLowerLimit == null && sortingOrderUpperLimit == null) sortingOrder = baseSortingOrder;
else if (sortingOrderLowerLimit == null) sortingOrder = (int)sortingOrderUpperLimit - 10;
else if (sortingOrderUpperLimit == null) sortingOrder = (int)sortingOrderLowerLimit + 10;
else sortingOrder = ((int)sortingOrderUpperLimit + (int)sortingOrderLowerLimit) / 2;
return sortingOrder;
}
示例2: QuadsAreValidTogether
private bool QuadsAreValidTogether(Quad quad1, Quad quad2) {
if (quad1.ContainsTopPointsFromOtherQuad(quad2) && quad2.ContainsTopPointsFromOtherQuad(quad1)) return false;
else return true;
}