Class ModIO
Provides methods for IO since large parts of the System.IO namespace are blocked for security reasons.
Assembly: Assembly-CSharp.dll
Syntax
public static class ModIO
Methods
AppendText(String, Boolean)
Declaration
public static TextWriter AppendText(string filePath, bool data = false)
Parameters
Returns
CreateDirectory(String, Boolean)
Declaration
public static void CreateDirectory(string path, bool data = false)
Parameters
CreateText(String, Boolean)
Declaration
public static TextWriter CreateText(string filePath, bool data = false)
Parameters
Returns
DeleteDirectory(String, Boolean, Boolean)
Declaration
public static void DeleteDirectory(string path, bool recursive, bool data = false)
Parameters
DeleteFile(String, Boolean)
Declaration
public static void DeleteFile(string filePath, bool data = false)
Parameters
DeserializeXml<T>(String, Boolean, Boolean)
Deserializes an XML file using the Modding.Serialization system for optional validation.
Declaration
public static T DeserializeXml<T>(string filePath, bool data = false, bool validate = true)
where T : Element
Parameters
Type |
Name |
Description |
String |
filePath |
Path to the XML file.
|
Boolean |
data |
Whether the path is relative to the data directory or the mod directory.
|
Boolean |
validate |
Whether the deserialized object should be validated.
|
Returns
Type |
Description |
T |
The deserialized object or null if an error was encountered.
|
Type Parameters
Name |
Description |
T |
Type of object to be deserialized.
|
DownloadData(String)
Declaration
public static byte[] DownloadData(string url)
Parameters
Type |
Name |
Description |
String |
url |
|
Returns
DownloadDataAsync(Uri, DownloadDataCompletedEventHandler, DownloadProgressChangedEventHandler)
Declaration
public static void DownloadDataAsync(Uri uri, DownloadDataCompletedEventHandler downloadComplete, DownloadProgressChangedEventHandler progressChanged = null)
Parameters
DownloadFile(String, String, AsyncCompletedEventHandler, DownloadProgressChangedEventHandler, Boolean)
Declaration
public static void DownloadFile(string url, string filePath, AsyncCompletedEventHandler downloadCompleted = null, DownloadProgressChangedEventHandler progressChanged = null, bool data = false)
Parameters
DownloadFileAsync(Uri, String, AsyncCompletedEventHandler, DownloadProgressChangedEventHandler, Boolean)
Declaration
public static void DownloadFileAsync(Uri uri, string filePath, AsyncCompletedEventHandler downloadComplete = null, DownloadProgressChangedEventHandler progressChanged = null, bool data = false)
Parameters
DownloadString(String)
Declaration
public static string DownloadString(string url)
Parameters
Type |
Name |
Description |
String |
url |
|
Returns
DownloadStringAsync(Uri, DownloadStringCompletedEventHandler, DownloadProgressChangedEventHandler)
Declaration
public static void DownloadStringAsync(Uri uri, DownloadStringCompletedEventHandler downloadComplete, DownloadProgressChangedEventHandler progressChanged = null)
Parameters
ExistsDirectory(String, Boolean)
Declaration
public static bool ExistsDirectory(string path, bool data = false)
Parameters
Returns
ExistsFile(String, Boolean)
Declaration
public static bool ExistsFile(string filePath, bool data = false)
Parameters
Returns
GetDirectories(String, Boolean)
Declaration
public static string[] GetDirectories(string path, bool data = false)
Parameters
Returns
GetFiles(String, Boolean)
Declaration
public static string[] GetFiles(string dirPath, bool data = false)
Parameters
Returns
GetFiles(String, String, Boolean)
Declaration
public static string[] GetFiles(string dirPath, string searchPattern, bool data = false)
Parameters
Returns
Open(String, FileMode, Boolean, FileAccess, FileShare)
Declaration
public static Stream Open(string filePath, FileMode mode, bool data = false, FileAccess access = FileAccess.Read | FileAccess.Write | FileAccess.ReadWrite, FileShare share = FileShare.None)
Parameters
Returns
OpenFolderInFileBrowser(String, Boolean)
Declaration
public static void OpenFolderInFileBrowser(string path, bool data = false)
Parameters
OpenRead(String, Boolean)
Declaration
public static Stream OpenRead(string filePath, bool data = false)
Parameters
Returns
OpenText(String, Boolean)
Declaration
public static TextReader OpenText(string filePath, bool data = false)
Parameters
Returns
ReadAllBytes(String, Boolean)
Declaration
public static byte[] ReadAllBytes(string filePath, bool data = false)
Parameters
Returns
ReadAllLines(String, Boolean)
Declaration
public static string[] ReadAllLines(string filePath, bool data = false)
Parameters
Returns
ReadAllLines(String, Encoding, Boolean)
Declaration
public static string[] ReadAllLines(string filePath, Encoding encoding, bool data = false)
Parameters
Returns
ReadAllText(String, Boolean)
Declaration
public static string ReadAllText(string filePath, bool data = false)
Parameters
Returns
ReadAllText(String, Encoding, Boolean)
Declaration
public static string ReadAllText(string filePath, Encoding encoding, bool data = false)
Parameters
Returns
SerializeXml<T>(T, String, Boolean)
Serializes an Element-derived object to an XML file.
If the file path already exists, the file is overwritten.
The serialized XML output will contain lineNumber and linePosition attributes that cannot be avoided
due to limitations of the serialization system.
These attributes will not interfere with deserialization.
Note: The mod loader itself makes heave use of the Deserialization system but doesn't directly
use XML serialization. Because of this there are multiple tricks for deserialization that make it
more reliable while serialization hasn't received the same attention. Use at your own risk.
Declaration
public static void SerializeXml<T>(T obj, string filePath, bool data = false)
where T : Element
Parameters
Type Parameters
WriteAllBytes(String, Byte[], Boolean)
Declaration
public static void WriteAllBytes(string filePath, byte[] bytes, bool data = false)
Parameters
WriteAllLines(String, String[], Boolean)
Declaration
public static void WriteAllLines(string filePath, string[] lines, bool data = false)
Parameters
WriteAllText(String, String, Boolean)
Declaration
public static void WriteAllText(string filePath, string text, bool data = false)
Parameters