public List<BlockData> GetPassageDataList(PassageType type) { return passageDic[type]; }
public BlockData GetRandomPassageData(PassageType type) { List<BlockData> list = passageDic[type]; int index = RandomUtils.Range(0, list.Count); return list[index]; }
public static int GetPassageDirection(MazeNode node, PassageType type) { if (type == PassageType.One) { for (int i = 0; i < 4; ++i) { if (node.LinkList[i] != null) { return GetOppositeDirection(i); } } } else if (type == PassageType.TwoLine) { for (int i = 0; i < 4; ++i) { if (node.LinkList[i] != null) { return i; } } } else if (type == PassageType.TwoTurn) { for (int i = 0; i < 4; ++i) { if (node.LinkList[i] == null && node.LinkList[GetNextDirection(i)] != null) { return i; } } } else if (type == PassageType.Three) { for (int i = 0; i < 4; ++i) { if (node.LinkList[i] == null) { return i; } } } return 0; }