class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 指定した座標の位置まで移動するルートの設定
  #--------------------------------------------------------------------------
  def route_move_to_the_pointx(character_id,x,y,mode_id,wait_flag = false)
    character = character_id == 0 ? $game_player : $game_map.events[character_id]
    character.move_auto.set_init
    character.move_auto.move_id = 1
    character.move_auto.base_mode = mode_id
    
    character.move_auto.vars = [x,y]
    Fiber.yield while character.move_auto.move_id > 0 if wait_flag
  end 
  
  #--------------------------------------------------------------------------
  # ● 指定した座標の位置まで移動する
  #--------------------------------------------------------------------------
  def move_ex_point(character_id,x,y,mode_id,wait_flag = false)
    $game_map.refresh if $game_map.need_refresh
    route_move_to_the_pointx(character_id,x,y,mode_id,wait_flag)
  end  
  
  #--------------------------------------------------------------------------
  # ● 指定した変数の座標の位置まで移動する
  #--------------------------------------------------------------------------
  def move_ex_pointv(character_id,vid1,vid2,mode_id,wait_flag = false)
    $game_map.refresh if $game_map.need_refresh
    x = $game_variables[vid1]
    y = $game_variables[vid2]    
    route_move_to_the_pointx(character_id,x,y,mode_id,wait_flag)
  end    
  #--------------------------------------------------------------------------
  # ● 指定したキャラの座標の位置まで移動する
  #--------------------------------------------------------------------------
  def move_ex_character(character_id,eid,mode_id,wait_flag = false)
    $game_map.refresh if $game_map.need_refresh
    target = eid == 0 ? $game_player : $game_map.events[eid] 
    x = target.x
    y = target.y
    route_move_to_the_pointx(character_id,x,y,mode_id,wait_flag)
  end    
end  