Skip to content
This repository was archived by the owner on Jun 27, 2024. It is now read-only.

Commit 802b221

Browse files
committed
Remove reflection stuff
1 parent 18c7288 commit 802b221

File tree

1 file changed

+12
-17
lines changed

1 file changed

+12
-17
lines changed

src/Jobs/MigratePermissionsJob.cs

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
using System.Collections.Generic;
77
using System.IO;
88
using System.Linq;
9-
using System.Reflection;
10-
using System.Threading.Tasks;
119
using System.Xml.Serialization;
10+
using OpenMod.API.Persistence;
11+
using OpenMod.Core.Persistence;
1212

1313
namespace OpenMod.Installer.RocketMod.Jobs
1414
{
@@ -78,25 +78,20 @@ public void ExecuteMigration(string[] args)
7878
}
7979

8080
var apiAssembly = AssemblyHelper.GetAssembly("OpenMod.API");
81-
var datastoreCreationParametersType = apiAssembly.GetType("OpenMod.API.Persistence.DataStoreCreationParameters");
8281
var workingDirectory = OpenModInstallerPlugin.Instance.OpenModManager.WorkingDirectory;
8382

84-
var @params = Activator.CreateInstance(datastoreCreationParametersType);
85-
@params.SetPropertyValue("ComponentId", "OpenMod.Core");
86-
@params.SetPropertyValue("Prefix", "openmod");
87-
@params.SetPropertyValue("WorkingDirectory", workingDirectory);
88-
89-
var coreAssembly = AssemblyHelper.GetAssembly("OpenMod.Core");
90-
var datastoreType = coreAssembly.GetType("OpenMod.Core.Persistence.YamlDataStore");
91-
var ctor = datastoreType.GetConstructor(BindingFlags.Instance | BindingFlags.NonPublic, null, new[] { datastoreCreationParametersType }, null);
83+
var dataStoreParams = new DataStoreCreationParameters
84+
{
85+
ComponentId = "OpenMod.Core",
86+
Prefix = "openmod",
87+
WorkingDirectory = workingDirectory
88+
};
9289

93-
var dataStore = ctor.Invoke(new[] { @params });
94-
var saveMethod = dataStore.GetType().GetMethod("SaveAsync", BindingFlags.Instance | BindingFlags.Public);
95-
var saveMethodTaskRoles = (Task)saveMethod.Invoke(dataStore, new object[] { "roles", openmodRoles });
96-
var saveMethodTaskUsers = (Task)saveMethod.Invoke(dataStore, new object[] { "users", openmodUsers });
90+
var dataStore = new YamlDataStore(dataStoreParams, null, null);
91+
92+
AsyncHelperEx.RunSync(() => dataStore.SaveAsync("roles", openmodRoles));
93+
AsyncHelperEx.RunSync(() => dataStore.SaveAsync("users", openmodUsers));
9794

98-
AsyncHelperEx.RunSync(() => saveMethodTaskRoles);
99-
AsyncHelperEx.RunSync(() => saveMethodTaskUsers);
10095
Logger.Log($"Imported {openmodRoles.Roles.Count} permission group(s) and {openmodUsers.Users.Count} player(s) from RocketMod's Permission.config.xml to OpenMod.");
10196
}
10297

0 commit comments

Comments
 (0)