public static ArrayList ReadAll(string path) { using (StreamReader ip = new StreamReader(path)) { ArrayList list = new ArrayList(); for (DecorationListDelete v = Read(ip); v != null; v = Read(ip)) { list.Add(v); } return(list); } }
private static void RemoveGeneric(string[] files, params Map[] maps) { for (int i = 0; i < files.Length; ++i) { ArrayList list = DecorationListDelete.ReadAll(files[i]); #region Mondain's Legacy m_List = list; #endregion for (int j = 0; j < list.Count; ++j) { m_Count += ((DecorationListDelete)list[j]).Remove(maps); } } }
public static Item FindByID(int id) { if (m_List == null) { return(null); } for (int j = 0; j < m_List.Count; ++j) { DecorationListDelete list = (DecorationListDelete)m_List[j]; if (list.ID == id) { return(list.Constructed); } } return(null); }
public static void Generate(string folder, params Map[] maps) { if (!Directory.Exists(folder)) { return; } string[] files = Directory.GetFiles(folder, "*.cfg"); for (int i = 0; i < files.Length; ++i) { ArrayList list = DecorationListDelete.ReadAll(files[i]); #region Mondain's Legacy m_List = list; #endregion for (int j = 0; j < list.Count; ++j) { m_Count += ((DecorationListDelete)list[j]).Generate(maps); } } }
public static DecorationListDelete Read(StreamReader ip) { string line; while ((line = ip.ReadLine()) != null) { line = line.Trim(); if (line.Length > 0 && !line.StartsWith("#")) { break; } } if (string.IsNullOrEmpty(line)) { return(null); } DecorationListDelete list = new DecorationListDelete(); int indexOf = line.IndexOf(' '); list.m_Type = ScriptCompiler.FindTypeByName(line.Substring(0, indexOf++), true); if (list.m_Type == null) { throw new ArgumentException(String.Format("Type not found for header: '{0}'", line)); } line = line.Substring(indexOf); indexOf = line.IndexOf('('); if (indexOf >= 0) { list.m_ItemID = Utility.ToInt32(line.Substring(0, indexOf - 1)); string parms = line.Substring(++indexOf); if (line.EndsWith(")")) { parms = parms.Substring(0, parms.Length - 1); } list.m_Params = parms.Split(';'); for (int i = 0; i < list.m_Params.Length; ++i) { list.m_Params[i] = list.m_Params[i].Trim(); } } else { list.m_ItemID = Utility.ToInt32(line); list.m_Params = m_EmptyParams; } list.m_Entries = new ArrayList(); while ((line = ip.ReadLine()) != null) { line = line.Trim(); if (line.Length == 0) { break; } if (line.StartsWith("#")) { continue; } list.m_Entries.Add(new DecorationEntry(line)); } return(list); }
public static DecorationListDelete Read(StreamReader ip) { string line; while ((line = ip.ReadLine()) != null) { line = line.Trim(); if (line.Length > 0 && !line.StartsWith("#")) break; } if (string.IsNullOrEmpty(line)) return null; DecorationListDelete list = new DecorationListDelete(); int indexOf = line.IndexOf(' '); list.m_Type = ScriptCompiler.FindTypeByName(line.Substring(0, indexOf++), true); if (list.m_Type == null) throw new ArgumentException(String.Format("Type not found for header: '{0}'", line)); line = line.Substring(indexOf); indexOf = line.IndexOf('('); if (indexOf >= 0) { list.m_ItemID = Utility.ToInt32(line.Substring(0, indexOf - 1)); string parms = line.Substring(++indexOf); if (line.EndsWith(")")) parms = parms.Substring(0, parms.Length - 1); list.m_Params = parms.Split(';'); for (int i = 0; i < list.m_Params.Length; ++i) list.m_Params[i] = list.m_Params[i].Trim(); } else { list.m_ItemID = Utility.ToInt32(line); list.m_Params = m_EmptyParams; } list.m_Entries = new ArrayList(); while ((line = ip.ReadLine()) != null) { line = line.Trim(); if (line.Length == 0) break; if (line.StartsWith("#")) continue; list.m_Entries.Add(new DecorationEntry(line)); } return list; }