@Override
    public void infoSeePlayerOther(int number, boolean goalie, double distance, double direction, double distChange,
                                   double dirChange, double bodyFacingDirection, double headFacingDirection) {
        //Switch statement for custom operation of the Attackers
        switch (this.getPlayer().getNumber()) {
            case 2: case 3:
                SeenPlayer seenPlayer = new SeenPlayer(number, goalie, distance, direction, distChange,
                                         dirChange, bodyFacingDirection, headFacingDirection, false, true);
                //If current agent can see the ball aswell as this player then calculate the distance to them
                if (canSeeBall == true) {
                    seenPlayer.calculateDistance(distanceBall, distance, directionBall, direction);
                } else {
                    //Else set the distance to far away
                    seenPlayer.distanceFromBall = 1000;
                }
                boolean found = false;
                //This arraylist is for storing the seen players in memory, if the player has not been seen before then they are added to the array
                //Loop through and find if the player already exists in the arraylist
                for (int i = 0; i < allPlayers.size(); ++i) {
                    SeenPlayer player = allPlayers.get(i);
                    if (player.number == number && player.isTeammate == false) {
                        //update their details in the arraylist
                        allPlayers.set(i, seenPlayer);
                        found = true;
                        updatedThePlayerList = true;
                    }
                }
                //If they haven't been found in the arraylist then create them
                if (found == false) {
                    allPlayers.add(seenPlayer);
                    updatedThePlayerList = true;
                }
            default:
                break;
        }
    }