protected override void OnExit(ExitEventArgs e) { base.OnExit(e); MgloBlamGameRequiredSystems.DisposeFromOldProgram(); KSoft.Blam.Program.DisposeCoreSystems(); KSoft.Blam.Program.Dispose(); KSoft.Program.Dispose(); }
public ReverseEngineerFilesProcessBase(MainWindowViewModel mainViewModel) { ViewModel = mainViewModel; Dispatcher = System.Windows.Application.Current.Dispatcher; DontOverwriteExistingFiles = ViewModel.Flags.Test(MiscFlags.DontOverwriteExistingFiles); IgnoreOutputPaths = ViewModel.Flags.Test(MiscFlags.IgnoreOutputPaths); mGameBuildAndTarget = ViewModel.SelectedGameBuildAndTargetHandle; mRequiredSystems = ViewModel.SelectGameBuildRequiredSystems; }
public static MgloBlamGameRequiredSystems GetOrCreateFromSelectableGameBuildName(string name) { MgloBlamGameRequiredSystems instance; lock (gCachedGames) { if (!gCachedGames.TryGetValue(name, out instance)) { KBlam.Engine.EngineBuildRevision build_revision = KBlam.Engine.EngineRegistry.TryParseExportedBuildName(name); if (build_revision == null) { throw new ArgumentOutOfRangeException(nameof(name), name, "Not a valid build name"); } instance = new MgloBlamGameRequiredSystems(build_revision.BuildHandle.ToEngineTargetHandle()); gCachedGames.Add(name, instance); } } return(instance); }