本文整理汇总了C#中TileCoord.Next方法的典型用法代码示例。如果您正苦于以下问题:C# TileCoord.Next方法的具体用法?C# TileCoord.Next怎么用?C# TileCoord.Next使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TileCoord
的用法示例。
在下文中一共展示了TileCoord.Next方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsValidMoveSingleStep
TileCoord IsValidMoveSingleStep( TileCoord fromCoord, int direction, bool checkIfVisited )
{
// Check that we can move from our tiles edge to the next tiles edge.
// Condition: Internally, we have the valid connectivity.
// Condition: Not visited the next.
// Condition: Both have valid transforms at matching edges.
int[] targetEdgeIndices = new int[]
{
1, 0, 3, 2
};
var fromTile = _boardPieceField[fromCoord.x][fromCoord.y];
var nextFromCoord = new TileCoord( fromCoord.x, fromCoord.y, direction );
// Check connectivity, update from.
if( fromTile.IsConnected( fromCoord.edge, nextFromCoord.edge ) == false )
{
return null;
}
else
{
fromCoord = nextFromCoord;
}
// Generate to.
var toCoord = fromCoord.Next( direction );
if( toCoord.x < 0 || toCoord.x >= Size ||
toCoord.y < 0 || toCoord.y >= Size ||
( checkIfVisited && _boardPieceField[ toCoord.x ][ toCoord.y ].PathNodes[ toCoord.edge ].HasVisited ) )
{
return null;
}
var fromEdgeTransform = fromTile.GetEdgePieceTransform(direction);
var toEdgeTransform = _boardPieceField[toCoord.x][toCoord.y].GetEdgePieceTransform(toCoord.edge);
if( fromEdgeTransform == null ||
toEdgeTransform == null )
{
return null;
}
return fromCoord;
}