/// <summary> /// Determine an exit direction based on the current placement logic /// </summary> /// <param name="logic"></param> /// <param name="startDir"></param> /// <returns></returns> public CompassDirection ExitDirection(ExitPlacement logic, CompassDirection startDir) { if (logic == ExitPlacement.Opposite || logic == ExitPlacement.Opposite_Side) { return(startDir); } else if (logic == ExitPlacement.Not_Opposite_Side) { return(startDir.RandomTurn(_RNG)); } else { return(startDir.Reverse().RandomOther(_RNG)); } }