public virtual void GenerateDoorwayLights() { foreach (Doorway doorway in doorways) { Vector2 position = new Vector2(doorway.x, doorway.y); if (doorway.roomOutDirection == Direction.North) { position.y += 1; if (Random.value > .5f || doorway.x == x) { position.x += doorway.breadth; } else { position.x -= 1; } } else if (doorway.roomOutDirection == Direction.South) { if (Random.value > .5f || doorway.x == x) { position.x += doorway.breadth; } else { position.x -= 1; } } else if (doorway.roomOutDirection == Direction.East) { if (Random.value > .5f || doorway.y == y) { position.y += doorway.breadth; } else { position.y -= 1; } } else if (doorway.roomOutDirection == Direction.West) { if (Random.value > .5f || doorway.y == y) { position.y += doorway.breadth; } else { position.y -= 1; } } ElectricLamp electricLamp = (ElectricLamp)InstantiateFurniture(PrefabRegistry.I.standardWallLight.GetComponent <ElectricLamp>(), position); electricLamp.GetComponent <CardinalSprite>().UpdateDirection(DirectionUtil.Reverse(doorway.roomOutDirection)); lightSwitch.AddChild(electricLamp); } }