public void Link(DungeonRoom other, int keyLevel) { DungeonEdge edge = edges.FirstOrDefault(e => e.GetRoomId() == other.id); if (edge != null) { edge.SetKeyLevel(keyLevel); } else { edge = new DungeonEdge(other.id, keyLevel); edges.Add(edge); } }
protected override void RenderDoor(DungeonRoom dungeonRoom, Direction direction) { Transform door = null; DungeonEdge edge = dungeon.IsLinkedToDirection(dungeonRoom, direction); if (edge != null) { door = currentRoom.transform.Find(direction.ToString() + "Door"); if (door != null) { Renderer doorRend = door.GetComponent <Renderer>(); if (doorRend != null) { doorRend.material.color = edge.GetKeyLevel() > -1 ? edge.GetKeyLevel() == 1000 ? Color.red : Color.black : Color.grey; } } } }