Beispiel #1
0
		public List<BlockData> GetPassageDataList(PassageType type)
		{
			return passageDic[type];
		}
Beispiel #2
0
		public BlockData GetRandomPassageData(PassageType type)
		{
			List<BlockData> list = passageDic[type];
			int index = RandomUtils.Range(0, list.Count);
			return list[index];
		}
Beispiel #3
0
		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;
		}