public static void SelectMapIDMultiplePostfix(List <CharaInfo> _charaInfos, List <int> _useMap, HashSet <int> _used)
        {
            for (int i = 0; i < _charaInfos.Count; i += 2)
            {
                if (!HS2ChicksDigMapModdersPlugin.UseModdedMapsForSafeEvents.Value)
                {
                    continue;
                }
                else if (!HS2ChicksDigMapModdersPlugin.SafeEventCheck(_charaInfos[i].eventID) && !HS2ChicksDigMapModdersPlugin.UseModdedMapsForAllEvents.Value)
                {
                    continue;
                }

                if (HS2ChicksDigMapModdersPlugin.EnableDebugLogging.Value)
                {
                    Log.LogInfo(string.Format("Before Selecting {0} Event {6} map {1}-{5} useMap {2} used {3} available {4}", _charaInfos[i].chaFile.parameter.fullname, _charaInfos[i].mapID, string.Join(" ", _useMap), string.Join(" ", _used), string.Join(" ", Singleton <Game> .Instance.infoEventContentDic[_charaInfos[i].eventID].goToFemaleMaps), NameForMapId(_charaInfos[i].mapID), _charaInfos[i].eventID));
                }

                int[] goToFemaleMaps = Singleton <Game> .Instance.infoEventContentDic[_charaInfos[i].eventID].goToFemaleMaps;
                goToFemaleMaps = ExcludeAchievementMap(goToFemaleMaps);
                List <int> list = new List <int>();
                if (!((IReadOnlyCollection <int>)(object) goToFemaleMaps).IsNullOrEmpty())
                {
                    list = goToFemaleMaps.AddRangeToArray(HS2ChicksDigMapModdersPlugin.ModdedMapIds()).Except(_useMap).Shuffle().ToList();
                }
                bool flag = false;
                for (int j = 0; j < list.Count; j++)
                {
                    int num = list[j];
                    if (!_used.Contains(num))
                    {
                        _used.Add(num);
                        _charaInfos[i].mapID = num;
                        flag = true;
                        break;
                    }
                }
                if (!flag)
                {
                    _charaInfos[i].mapID = list.Shuffle().FirstOrDefault();
                }
                _charaInfos[i + 1].mapID = _charaInfos[i].mapID;

                if (HS2ChicksDigMapModdersPlugin.EnableDebugLogging.Value)
                {
                    Log.LogInfo(string.Format("After Selecting {0} Event {6} map {1}-{5} useMap {2} used {3} available {4}", _charaInfos[i].chaFile.parameter.fullname, _charaInfos[i].mapID, string.Join(" ", _useMap), string.Join(" ", _used), string.Join(" ", list), NameForMapId(_charaInfos[i].mapID), _charaInfos[i].eventID));
                }
            }
        }
 public static void InitList(int _eventNo, LobbyMapSelectInfoScrollController ___scrollCtrl)
 {
     if (HS2ChicksDigMapModdersPlugin.EnableDebugLogging.Value)
     {
         Log.LogInfo(string.Format("Checking Map Visibility for Event {0}", _eventNo));
     }
     if (_eventNo == 24 && HS2ChicksDigMapModdersPlugin.UseModdedMapsForFirstTimeGirls.Value)
     {
         int[] array = Singleton <Game> .Instance.infoEventContentDic[_eventNo].meetingLocationMaps.AddRangeToArray(HS2ChicksDigMapModdersPlugin.ModdedMapIds());
         List <MapInfo.Param> maps = BaseMap.infoTable.Values.Where((MapInfo.Param map) => map.Draw != -1).ToList();
         array = GlobalHS2Calc.ExcludeAchievementMap(array);
         array = GlobalHS2Calc.ExcludeFursRoomAchievementMap(array);
         maps  = GlobalHS2Calc.ExcludeAppendMap(maps);
         ___scrollCtrl.SelectInfoClear();
         ___scrollCtrl.Init(maps, array);
     }
 }