本文整理汇总了C#中Room.IsValidLocation方法的典型用法代码示例。如果您正苦于以下问题:C# Room.IsValidLocation方法的具体用法?C# Room.IsValidLocation怎么用?C# Room.IsValidLocation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Room
的用法示例。
在下文中一共展示了Room.IsValidLocation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: convertToCustomA
public static bool convertToCustomA(Room targetRoom)
{
LevelController level = LevelController.instance;
//test to see if there is space
int heading = targetRoom.getHeadingDirection();
int x = targetRoom.x;
int y = targetRoom.y;
if (heading == 0) // North
if (!targetRoom.IsValidLocation(x,y+1) || !targetRoom.IsValidLocation(x,y+2)) return false;
if (heading == 1) // East
if (!targetRoom.IsValidLocation(x+1,y) || !targetRoom.IsValidLocation(x+2,y)) return false;
if (heading == 2) // South
if (!targetRoom.IsValidLocation(x,y-1) || !targetRoom.IsValidLocation(x,y-2)) return false;
if (heading == 3) // West
if (!targetRoom.IsValidLocation(x-1,y) || !targetRoom.IsValidLocation(x-2,y)) return false;
//there is space, so convert to a custom room
targetRoom.customType = 1;
level.numberCustomRoomA++;
// add a placeholder because its a 2 squares
targetRoom.child1 = targetRoom.AddPlaceHolder(heading);
//stick a real room at the other door
targetRoom.child1.child1 = targetRoom.child1.AddChild(heading);
//make the real room have kids.
targetRoom.child1.child1.GenerateChildren();
// were done
return true;
}
示例2: convertToCustomC
public static bool convertToCustomC(Room targetRoom)
{
LevelController level = LevelController.instance;
//test to see if there is space
int heading = targetRoom.getHeadingDirection();
int x = targetRoom.x;
int y = targetRoom.y;
if (heading == 0) {// North
if (!targetRoom.IsValidLocation(x,y+1)) return false;
if (!targetRoom.IsValidLocation(x+1,y) ||
!targetRoom.IsValidLocation(x+1,y+1)) return false;
}
if (heading == 1) {// East
if (!targetRoom.IsValidLocation(x-1,y)) return false;
if (!targetRoom.IsValidLocation(x,y+1) ||
!targetRoom.IsValidLocation(x-1,y+1)) return false;
}
if (heading == 2) {// South
if (!targetRoom.IsValidLocation(x,y-1)) return false;
if (!targetRoom.IsValidLocation(x-1,y) ||
!targetRoom.IsValidLocation(x-1,y-1)) return false;
}
if (heading == 3) {// West
if (!targetRoom.IsValidLocation(x+1,y)) return false;
if (!targetRoom.IsValidLocation(x,y-1) ||
!targetRoom.IsValidLocation(x+1,y-1)) return false;
}
//there is space, so convert to a custom room
targetRoom.customType = 3;
level.numberCustomRoomC++;
// add a placeholders because its a 4 squares
targetRoom.child1 = targetRoom.AddPlaceHolder(heading);
targetRoom.child2 = targetRoom.AddPlaceHolder((heading + 1)%4);
targetRoom.child2.child1 = targetRoom.child2.AddPlaceHolder(heading);
// were done
return true;
}