public void Generate(List <int> randQuestList, int questCellCount) { foreach (var questData in SceneQuestBook.GetQuestConfigData(mapId)) { for (int j = 0; j < questData.Value; j++) { randQuestList.Add(questData.Id); } } if (randQuestList.Count > questCellCount) { randQuestList.RemoveRange(questCellCount, randQuestList.Count - questCellCount); NLog.Warn(string.Format("Generate id={0} size too big {1}", mapId, randQuestList.Count)); } else { ListTool.Fill(randQuestList, 0, questCellCount); } ListTool.RandomShuffle(randQuestList); }