public bool CheckDoors()
{
foreach (var region in this.Regions)
{
var dungeonFloorRegion = region as DungeonFloorRegion;
if (dungeonFloorRegion == null)
continue;
var props = region.GetProps(a => a is Door && a.State == "closed");
var max = dungeonFloorRegion.Floor.IsLastFloor ? 1 : 0;
if (props.Count > max)
return false;
}
return true;
}