我有一个问题。我正在制作一个用于生成过程地图的实用工具。我有一个房间池,每个房间都放置在房间表中。我有一种方法来连接所有房间,这种方法可以在表中行走并连接相邻的房间。
我有一个枚举
包含了房间的类型:
public enum RoomType
{
Default = 0,
Building,
Boss,
Item,
Standard,
Start,
}
在连接方法中,我会检查周围环境来确定它是什么类型的房间:
if (neighbourhood[2, 1] != null)
{
if (firstLevel.isOn)
{
if (neighbourhood[2,1].TypeOfRoom == RoomType.Start)
{
roomGrid[x, y].AddConnection(neighbourhood[2, 1], Location.RIGHT)
}
}
else if (neighbourhood[2,1].TypeOfRoom != RoomType.Boss)
roomGrid[x, y].AddConnection(neighbourhood[2, 1], Location.RIGHT);
}
但是当我检查房间类型是否为Start
时,它总是true
,并且连接已经添加。
我不知道这是为什么。
我在哪里设置了TypeOfRoom
:
img3
Room
类,特别是你的TypeOfRoom
getter和setter(我假设它是一个属性)。 - InBetweenTypeOfRoom
setter 中实现一些日志逻辑,识别当前线程。你可能会发现一些意外的结果;超过一个线程正在干扰你的room
。 - InBetween