public void SetTileIndicesGivenObs(JsonObservations observations) { if (observations.level0.Count == 0) { throw new IndexOutOfRangeException(); } int yaw = (int)YawBetweenZeroAndThreeSixty(observations.Yaw); level0.ahead = observations.level0[indicesGivenYaw[yaw][0]]; level0.left = observations.level0[indicesGivenYaw[yaw][1]]; level0.right = observations.level0[indicesGivenYaw[yaw][2]]; level0.back = observations.level0[indicesGivenYaw[yaw][3]]; level0.frontLeft = observations.level0[indicesGivenYaw[yaw][4]]; level0.frontRight = observations.level0[indicesGivenYaw[yaw][5]]; level0.backLeft = observations.level0[indicesGivenYaw[yaw][6]]; level0.backRight = observations.level0[indicesGivenYaw[yaw][7]]; levelSub1.ahead = observations.levelSub1[indicesGivenYaw[yaw][0]]; levelSub1.left = observations.levelSub1[indicesGivenYaw[yaw][1]]; levelSub1.right = observations.levelSub1[indicesGivenYaw[yaw][2]]; levelSub1.back = observations.levelSub1[indicesGivenYaw[yaw][3]]; levelSub1.frontLeft = observations.levelSub1[indicesGivenYaw[yaw][4]]; levelSub1.frontRight = observations.levelSub1[indicesGivenYaw[yaw][5]]; levelSub1.backLeft = observations.levelSub1[indicesGivenYaw[yaw][6]]; levelSub1.backRight = observations.levelSub1[indicesGivenYaw[yaw][7]]; levelSub2.ahead = observations.levelSub2[indicesGivenYaw[yaw][0]]; levelSub2.left = observations.levelSub2[indicesGivenYaw[yaw][1]]; levelSub2.right = observations.levelSub2[indicesGivenYaw[yaw][2]]; levelSub2.back = observations.levelSub2[indicesGivenYaw[yaw][3]]; levelSub2.frontLeft = observations.levelSub2[indicesGivenYaw[yaw][4]]; levelSub2.frontRight = observations.levelSub2[indicesGivenYaw[yaw][5]]; levelSub2.backLeft = observations.levelSub2[indicesGivenYaw[yaw][6]]; levelSub2.backRight = observations.levelSub2[indicesGivenYaw[yaw][7]]; }
// Yes, this has got a bit out of hand... public void SetTileIndicesGivenObs(JsonObservations observations) { if (observations.level0.Count == 0) { System.Diagnostics.Debug.WriteLine("here we are at the exception"); throw new IndexOutOfRangeException(); } int yaw = (int)YawBetweenZeroAndThreeSixty(observations.Yaw); level0.farAhead = observations.level0[indicesGivenYaw[yaw][0]]; level0.ahead = observations.level0[indicesGivenYaw[yaw][1]]; level0.farLeft = observations.level0[indicesGivenYaw[yaw][2]]; level0.left = observations.level0[indicesGivenYaw[yaw][3]]; level0.right = observations.level0[indicesGivenYaw[yaw][4]]; level0.farRight = observations.level0[indicesGivenYaw[yaw][5]]; level0.back = observations.level0[indicesGivenYaw[yaw][6]]; level0.farBack = observations.level0[indicesGivenYaw[yaw][7]]; level0.aheadLeft = observations.level0[indicesGivenYaw[yaw][8]]; level0.aheadRight = observations.level0[indicesGivenYaw[yaw][9]]; level0.backLeft = observations.level0[indicesGivenYaw[yaw][10]]; level0.backRight = observations.level0[indicesGivenYaw[yaw][11]]; level0.farAheadLeft = observations.level0[indicesGivenYaw[yaw][12]]; level0.farAheadRight = observations.level0[indicesGivenYaw[yaw][13]]; level0.farBackLeft = observations.level0[indicesGivenYaw[yaw][14]]; level0.farBackRight = observations.level0[indicesGivenYaw[yaw][15]]; levelSub1.farAhead = observations.levelSub1[indicesGivenYaw[yaw][0]]; levelSub1.ahead = observations.levelSub1[indicesGivenYaw[yaw][1]]; levelSub1.farLeft = observations.levelSub1[indicesGivenYaw[yaw][2]]; levelSub1.left = observations.levelSub1[indicesGivenYaw[yaw][3]]; levelSub1.right = observations.levelSub1[indicesGivenYaw[yaw][4]]; levelSub1.farRight = observations.levelSub1[indicesGivenYaw[yaw][5]]; levelSub1.back = observations.levelSub1[indicesGivenYaw[yaw][6]]; levelSub1.farBack = observations.levelSub1[indicesGivenYaw[yaw][7]]; levelSub1.aheadLeft = observations.levelSub1[indicesGivenYaw[yaw][8]]; levelSub1.aheadRight = observations.levelSub1[indicesGivenYaw[yaw][9]]; levelSub1.backLeft = observations.levelSub1[indicesGivenYaw[yaw][10]]; levelSub1.backRight = observations.levelSub1[indicesGivenYaw[yaw][11]]; levelSub1.farAheadLeft = observations.levelSub1[indicesGivenYaw[yaw][12]]; levelSub1.farAheadRight = observations.levelSub1[indicesGivenYaw[yaw][13]]; levelSub1.farBackLeft = observations.levelSub1[indicesGivenYaw[yaw][14]]; levelSub1.farBackRight = observations.levelSub1[indicesGivenYaw[yaw][15]]; levelSub2.farAhead = observations.levelSub2[indicesGivenYaw[yaw][0]]; levelSub2.ahead = observations.levelSub2[indicesGivenYaw[yaw][1]]; levelSub2.farLeft = observations.levelSub2[indicesGivenYaw[yaw][2]]; levelSub2.left = observations.levelSub2[indicesGivenYaw[yaw][3]]; levelSub2.right = observations.levelSub2[indicesGivenYaw[yaw][4]]; levelSub2.farRight = observations.levelSub2[indicesGivenYaw[yaw][5]]; levelSub2.back = observations.levelSub2[indicesGivenYaw[yaw][6]]; levelSub2.farBack = observations.levelSub2[indicesGivenYaw[yaw][7]]; levelSub2.aheadLeft = observations.levelSub2[indicesGivenYaw[yaw][8]]; levelSub2.aheadRight = observations.levelSub2[indicesGivenYaw[yaw][9]]; levelSub2.backLeft = observations.levelSub2[indicesGivenYaw[yaw][10]]; levelSub2.backRight = observations.levelSub2[indicesGivenYaw[yaw][11]]; levelSub2.farAheadLeft = observations.levelSub2[indicesGivenYaw[yaw][12]]; levelSub2.farAheadRight = observations.levelSub2[indicesGivenYaw[yaw][13]]; levelSub2.farBackLeft = observations.levelSub2[indicesGivenYaw[yaw][14]]; levelSub2.farBackRight = observations.levelSub2[indicesGivenYaw[yaw][15]]; }