public static void LoadNPCsAnswers() { lock (DatabaseHandler.ConnectionLocker) { var sqlText = "SELECT * FROM datas_npcs_answers"; var sqlCommand = new MySqlCommand(sqlText, DatabaseHandler.Connection); var sqlReader = sqlCommand.ExecuteReader(); while (sqlReader.Read()) { var answer = new Models.NPC.NPCsAnswer(); answer.AnswerID = sqlReader.GetInt32("answerID"); answer.Effects = sqlReader.GetString("effects"); foreach (var condi in sqlReader.GetString("conditions").Split('&')) { if (condi == "") continue; var condiInfos = condi.Split(';'); var condiObject = new Realm.World.Conditions.NPCConditions(); condiObject.CondiID = int.Parse(condiInfos[0]); condiObject.Args = condiInfos[1]; lock(answer.Conditions) answer.Conditions.Add(condiObject); } lock(AnswersList) AnswersList.Add(answer); } sqlReader.Close(); } Utilities.Loggers.StatusLogger.Write(string.Format("Loaded @'{0}' npcsAnswers@ from the database !", AnswersList.Count)); }
public static void LoadNPCsQuestions() { lock (DatabaseHandler.ConnectionLocker) { var sqlText = "SELECT * FROM datas_npcs_questions"; var sqlCommand = new MySqlCommand(sqlText, DatabaseHandler.Connection); var sqlReader = sqlCommand.ExecuteReader(); while (sqlReader.Read()) { var question = new Models.NPC.NPCsQuestion(); question.QuestionID = sqlReader.GetInt32("questionID"); question.RescueQuestionID = sqlReader.GetInt32("rescueQuestion"); foreach (var answer in sqlReader.GetString("answers").Split(';')) { if (answer == "") continue; lock(question.Answers) question.Answers.Add(AnswersList.First(x => x.AnswerID == int.Parse(answer))); } foreach (var condi in sqlReader.GetString("conditions").Split('&')) { if (condi == "") continue; var condiInfos = condi.Split(';'); var condiObject = new Realm.World.Conditions.NPCConditions(); condiObject.CondiID = int.Parse(condiInfos[0]); condiObject.Args = condiInfos[1]; lock(question.Conditions) question.Conditions.Add(condiObject); } lock(QuestionsList) QuestionsList.Add(question); } sqlReader.Close(); } foreach (var question in QuestionsList.Where(x => x.RescueQuestionID != -1)) question.RescueQuestion = QuestionsList.First(x => x.QuestionID == question.RescueQuestionID); Utilities.Loggers.StatusLogger.Write(string.Format("Loaded @'{0}' npcsQuestions@ from the database !", QuestionsList.Count)); }