#' Read RCG file
#' 
#' @param path RCG file path
#' @return Parsed tibble of RCG file in \code{path}
#' @examples 
#' read_rcg("data/20220405162804-HELIOS_base_3-vs-enemy_2.rcg")
read_rcg <- function(path) {
  rcg <- path |>
    readr::read_file() |>
    jsonlite::parse_json(simplifyVector = TRUE, flatten = TRUE) |>
    tibble::as_tibble() |>
    dplyr::filter(type == "show") |>
    dplyr::select(time,stime,players, ball.x, ball.y, ball.vx, ball.vy) |>
    tidyr::unnest(players) |>
    dplyr::select(time:capacity, ball.x:ball.vy) |>
    dplyr::rename(step = time) |>
    dplyr::rename_with(stringr::str_replace, pattern = "\\.", replacement = "_")
  
  return(rcg)
}

get_ball <- function(rcg) {
  ball <- rcg |>
    dplyr::select(step, ball_x, ball_y, ball_vx, ball_vy) |>
    dplyr::distinct(step,.keep_all = TRUE)
  
  return(ball)
}