class Game_Interpreter
  
  #--------------------------------------------------------------------------
  # ● 指定した座標の位置まで移動するルートの設定
  #--------------------------------------------------------------------------
  def route_move_to_the_point(character_id,x,y,skippable, wait_flag,reduction_steps = 0)
    character = character_id == 0 ? $game_player : $game_map.events[character_id]
    if character
      dist = [(character.x - x).abs + (character.y - y).abs - reduction_steps,0].max
      route = RPG::MoveRoute.new
      route.repeat = false
      route.skippable = skippable
      route.wait = wait_flag
      route.list[0].code = 100
      route.list[0].parameters = [x,y]
      route.list = route.list * dist
      route.list.push(RPG::MoveCommand.new)
      character.force_move_route(route)
      Fiber.yield while character.move_route_forcing if route.wait
    end
  end  
  #--------------------------------------------------------------------------
  # ● 指定した座標の位置まで移動する
  #--------------------------------------------------------------------------
  def move_to_the_point(character_id,x,y,skippable, wait_flag,reduction_steps = 0)
    $game_map.refresh if $game_map.need_refresh
    route_move_to_the_point(character_id,x,y,skippable, wait_flag,reduction_steps)
  end
  #--------------------------------------------------------------------------
  # ● 指定した変数の座標の位置へ移動する
  #--------------------------------------------------------------------------
  def move_to_the_pointv(character_id,vid1,vid2,skippable, wait_flag,reduction_steps = 0)
    $game_map.refresh if $game_map.need_refresh
    x = $game_variables[vid1]
    y = $game_variables[vid2]
    route_move_to_the_point(character_id,x,y,skippable, wait_flag,reduction_steps)
  end  
  #--------------------------------------------------------------------------
  # ● 指定したイベントの位置まで移動する
  #--------------------------------------------------------------------------
  def move_to_the_event(character_id,eid,skippable, wait_flag,reduction_steps = 0)
    $game_map.refresh if $game_map.need_refresh
    target = $game_map.events[eid]
    x = target.x
    y = target.y
    route_move_to_the_point(character_id,x,y,skippable, wait_flag,reduction_steps)
  end    
  
end  