#=============================================================================
# 简易地图记忆功能
#-----------------------------------------------------------------------------
# By:RyanBern
#=============================================================================

#=============================================================================
# 说明
#-----------------------------------------------------------------------------
# 切换地图后,重新进入地图会重新装载一遍地图,导致事件还在原位。这里经过简单
# 修改可使得某些地图的事件位置信息会保存下来。
#=============================================================================

# 需要记忆的地图 ID,如果需要记忆1号地图和2号地图,就在方括号里面输入1,2
# 例如 MAPS_NEED_MEMORIZE = [1,2]
MAPS_NEED_MEMORIZE = []

# 用于储存所记忆地图的变量 ID,这是为了地图信息能保存到下次读档之后,注意,一
# 旦设置了某变量用于记忆地图,则此变量不可作为他用(即不能出现在事件操作或者
# 事件出现条件中)。例如,将1号变量用于储存记忆地图,则写 MEMORIZED_POS = 1
MEMORIZED_POS = 1

class Game_Map
  alias ryan_setup setup
  def setup(map_id)
    unless $game_variables[MEMORIZED_POS].is_a?(Hash)
      $game_variables[MEMORIZED_POS] = {}
    end
    if MAPS_NEED_MEMORIZE.include?($game_map.map_id)
      $game_variables[MEMORIZED_POS][$game_map.map_id] = $game_map.clone
    end
    if $game_variables[MEMORIZED_POS].include?(map_id)
      $game_map = $game_variables[MEMORIZED_POS][map_id]
      return
    end
    ryan_setup(map_id)
  end
end