本文整理汇总了C#中Block.GetNumberY方法的典型用法代码示例。如果您正苦于以下问题:C# Block.GetNumberY方法的具体用法?C# Block.GetNumberY怎么用?C# Block.GetNumberY使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Block
的用法示例。
在下文中一共展示了Block.GetNumberY方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: layTile
private void layTile(Block block, List<Direction> directionList)
{
// 通路プレハブのインスタンス生成
GameObject aisleFloor = (GameObject)Resources.Load("Prehabs/Floor1");
// 通路の目的地
int aisleDestinationX = 0;
int aisleDestinationY = 0;
// 通路の幅の一時保存
int tmpAislePostion = 0;
// 通路の幅設定(1~2)
AisleWidth = Random.Range(1, 1);
Debug.Log("今から通路を各部屋はx: " + block.GetNumberX() + "y: " + block.GetNumberY());
for (int i = 0; i < directionList.Count; i++)
{
Debug.Log("方向の数" + directionList.Count);
if (i == (directionList.Count - 1))
{
// 目的地をエリアの終端に設定
Debug.Log("目的地を部屋の終端に設定");
getEndDestination(ref aisleDestinationX, ref aisleDestinationY, directionList[i]);
}
else
{
// 目的地をランダムに設定する
Debug.Log("目的地を部屋の適当に設定");
getDestination(ref aisleDestinationX, ref aisleDestinationY, directionList[i]);
}
Debug.Log("目的地はx:" + aisleDestinationX + " y:" + aisleDestinationY);
switch (directionList[i])
{
case Block.Direction.Up:
aisleDestinationX = AisleWidth + AislePositionX;
tmpAislePostion = AislePositionX;
while (AislePositionY < aisleDestinationY)
{
while (AislePositionX < aisleDestinationX)
{
generateTile(aisleFloor, block, AislePositionX, AislePositionY);
AislePositionX++;
}
AislePositionX = tmpAislePostion;
AislePositionY++;
}
if (i == (directionList.Count - 1))
{
// 次のエリアへ通路の位置を教える
Debug.Log("書き終わる前だよ");
AislePositionY = 0;
}
break;
case Block.Direction.Down:
aisleDestinationX = AisleWidth + AislePositionX;
tmpAislePostion = AislePositionX;
while (AislePositionY >= aisleDestinationY)
{
while (AislePositionX < aisleDestinationX)
{
generateTile(aisleFloor, block, AislePositionX, AislePositionY);
AislePositionX++;
}
AislePositionX = tmpAislePostion;
AislePositionY--;
}
if (i == (directionList.Count - 1))
{
// 次のエリアへ通路の位置を教える
Debug.Log("書き終わる前だよ");
AislePositionY = BlockHeight - 1;
}
break;
case Block.Direction.Right:
aisleDestinationY = AisleWidth + AislePositionY;
tmpAislePostion = AislePositionY;
while (AislePositionX < aisleDestinationX)
{
while (AislePositionY < aisleDestinationY)
{
generateTile(aisleFloor, block, AislePositionX, AislePositionY);
AislePositionY++;
}
AislePositionY = tmpAislePostion;
AislePositionX++;
}
if (i == (directionList.Count - 1))
{
// 次のエリアへ通路の位置を教える
Debug.Log("書き終わる前だよ");
AislePositionX = 0;
}
break;
case Block.Direction.Left:
aisleDestinationY = AisleWidth + AislePositionY;
tmpAislePostion = AislePositionY;
while (AislePositionX >= aisleDestinationX)
//.........这里部分代码省略.........
示例2: generateTile
private void generateTile(GameObject gameObject, Block area,int x,int y)
{
Instantiate(gameObject, new Vector3(area.GetNumberX() * 50 + x * 5, area.GetNumberY() * 50 + y * 5), Quaternion.identity);
area.Tile.SetNormalTile(x, y);
Debug.Log("通路の生成 部屋の位置 x:" + area.GetNumberX() + " y:" + area.GetNumberY() + "通路の位置 x:" + x + " y:" + y);
}
示例3: getAroundRightArea
/// <summary>
/// 指定されたエリアの右方向のエリアを取得する
/// </summary>
/// <param name="area"></param>
/// <returns></returns>
public Block getAroundRightArea(Block area)
{
return getAreaGroup(area.GetNumberX() + 1, area.GetNumberY());
}
示例4: getAroundUpArea
/// <summary>
/// 指定されたエリアの上方向のエリアを取得する
/// </summary>
/// <param name="area"></param>
/// <returns></returns>
public Block getAroundUpArea(Block area)
{
return getAreaGroup(area.GetNumberX(), area.GetNumberY() + 1);
}
示例5: getAroundLeftArea
/// <summary>
/// 指定されたエリアの左方向のエリアを取得する
/// </summary>
/// <param name="area"></param>
/// <returns></returns>
public Block getAroundLeftArea(Block area)
{
return getAreaGroup(area.GetNumberX() - 1, area.GetNumberY());
}