private void Initialization(string resourcename) { if (API.GetCurrentResourceName() == resourcename) { MySQLSettings settings = new MySQLSettings(); settings.ConvarConnectionString = API.GetConvar("mysql_connection_string", ""); settings.ConvarDebug = API.GetConvar("mysql_debug", "true"); XDocument xDocument = XDocument.Load(Path.Combine("resources", resourcename, "settings.xml")); settings.XMLConfiguration = xDocument.Descendants("setting").ToDictionary( setting => setting.Attribute("key").Value, setting => setting.Value ); mysql = new MySQL(settings, taskScheduler); ExecuteQueries(resourcename); } }
/// <summary> /// Constructor to set Exports and CitizenFX.Core Handlers /// </summary> public Core() { taskScheduler = new GHMattiTaskScheduler(); settings = new MySQLSettings(); initialized = false; EventHandlers["onServerResourceStart"] += new Action <string>(Initialization); Exports.Add("Query", new Func <string, dynamic, Task <long> >( (query, parameters) => Query(query, parameters)) ); Exports.Add("QueryResult", new Func <string, dynamic, Task <MySQLResult> >( (query, parameters) => QueryResult(query, parameters)) ); Exports.Add("QueryScalar", new Func <string, dynamic, Task <object> >( (query, parameters) => QueryScalar(query, parameters)) ); Exports.Add("TransactionAsync", new Func <dynamic, dynamic, Task <bool> >( (querys, parameters) => Transaction(querys, parameters)) ); Exports.Add("QueryAsync", new Action <string, dynamic, CallbackDelegate>( (query, parameters, cb) => QueryAsync(query, parameters, cb)) ); Exports.Add("QueryResultAsync", new Action <string, dynamic, CallbackDelegate>( (query, parameters, cb) => QueryResultAsync(query, parameters, cb)) ); Exports.Add("QueryScalarAsync", new Action <string, dynamic, CallbackDelegate>( (query, parameters, cb) => QueryScalarAsync(query, parameters, cb)) ); Exports.Add("TransactionAsync", new Action <dynamic, dynamic, CallbackDelegate>( (querys, parameters, cb) => TransactionAsync(querys, parameters, cb)) ); Exports.Add("Insert", new Action <string, dynamic, CallbackDelegate, bool>( (table, parameters, cb, lastinsertid) => Insert(table, parameters, cb, lastinsertid)) ); }