/// <summary> /// 파일 시스템에 유저 데이터를 저장합니다. /// </summary> protected override void SaveUserData() { string path = ConfigPath + $"{Identifier}\\" + ProfileFileName + ProfileFileExtension; var helper = new XmlHelper(path); var nodeList = new List <XmlHelper.Node>(); XmlHelper.Node node; string temp; for (int i = 0; i < Users.Count; i++) { node = new XmlHelper.Node("user"); node.AddData("nickname", Users[i].Nickname); node.AddData("isIgnored", Users[i].IsIgnored ? "true" : "false"); node.AddData("experience", (Users[i] as QuizUser).Experience); node.AddData("level", (Users[i] as QuizUser).Level); node.AddData("money", (Users[i] as QuizUser).Money); node.AddData("generation", (Users[i] as QuizUser).Generation); node.AddData("currentTitle", (Users[i] as QuizUser).CurrentTitle.Name); temp = ""; for (int j = 0; j < (Users[i] as QuizUser).AvailableTitles.Count; j++) { temp += (Users[i] as QuizUser).AvailableTitles[j].Name + ","; } node.AddData("availableTitles", temp.Substring(0, temp.Length - 1)); nodeList.Add(node); } helper.CreateFile("list", nodeList); }
/// <summary> /// 파일 시스템에 유저 데이터를 저장합니다.<para/> /// 만약 이 클래스 상속 시 새로운 유저 클래스를 같이 만든다면, 이 메서드가 필요한 노드들을 전부 생성하여 저장할 수 있도록 오버라이드하여 사용하십시오. /// </summary> protected virtual void SaveUserData() { string path = ConfigPath + $"{Identifier}\\" + ProfileFileName + ProfileFileExtension; Directory.CreateDirectory(path.Substring(0, path.LastIndexOf('\\'))); var helper = new XmlHelper(path); var nodeList = new List <XmlHelper.Node>(); XmlHelper.Node node; for (int i = 0; i < Users.Count; i++) { node = new XmlHelper.Node("user"); node.AddData("nickname", Users[i].Nickname); node.AddData("isIgnored", Users[i].IsIgnored ? "true" : "false"); nodeList.Add(node); } helper.CreateFile("list", nodeList); }