protected override void OnLoad(EventArgs e) { base.OnLoad(e); SetPartsGridView.AutoGenerateColumns = false; if (!SettingsManager.HasInitialized) { SettingsManager.Initialize(); } LDDEnvironment.Initialize(); RebrickableAPI.ApiKey = "aU49o5xulf"; RebrickableAPI.InitializeClient(); DBFilePath = SettingsManager.GetFilePath(SettingsManager.DATABASE_FILENAME); var currentFolder = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); //DBFilePath = Path.Combine(currentFolder, "BrickDatabase.db"); //if (!File.Exists(DBFilePath)) // File.Copy(currentFolder + "\\Resources\\EmptyDatabase.db", DBFilePath); if (SettingsManager.DatabaseExists()) { ReloadRebrickableBaseData(); } else { InitDatabase(); } }
public static Primitive GetPrimitiveInfo(LDDEnvironment environment, int partID) { if (environment.DatabaseExtracted) { var primitivesDir = Path.Combine(environment.ApplicationDataPath, "db\\Primitives"); var primitiveFile = Path.Combine(primitivesDir, $"{partID}.xml"); if (!File.Exists(primitiveFile)) { throw new FileNotFoundException($"Primitive file not found. ({partID}.xml)"); } return(Primitive.Load(primitiveFile)); } else { using (var lif = LifFile.Open(Path.Combine(environment.ApplicationDataPath, "db.lif"))) { var primitiveFolder = lif.GetFolder("Primitives"); var meshesFolder = primitiveFolder.GetFolder("LOD0"); var primitiveEntry = primitiveFolder.GetFile($"{partID}.xml"); if (primitiveEntry == null) { throw new FileNotFoundException($"Primitive file not found. ({partID}.xml)"); } return(Primitive.Load(primitiveEntry.GetStream())); } } }
public void SaveToLdd(LDDEnvironment environment) { var primitivesDir = environment.GetAppDataSubDir("db\\Primitives\\"); var meshesDir = environment.GetAppDataSubDir("db\\Primitives\\LOD0\\"); SaveToDirectory(primitivesDir, meshesDir); }
private static PaletteFile GetLddPaletteFile(LDDEnvironment environment) { var appDataPalettes = environment.GetAppDataSubDir("Palettes"); if (File.Exists(Path.Combine(appDataPalettes, "LDD.lif"))) { return(PaletteFile.FromLif(Path.Combine(appDataPalettes, "LDD.lif"))); } if (Directory.Exists(Path.Combine(appDataPalettes, "LDD"))) { return(PaletteFile.FromDirectory(Path.Combine(appDataPalettes, "LDD"))); } string dbLifPath = environment.GetLifFilePath(LddLif.DB); if (File.Exists(dbLifPath)) { using (var lif = LifFile.Open(dbLifPath)) { var paletteEntry = lif.GetAllFiles().FirstOrDefault(x => x.Name == "LDD.lif"); if (paletteEntry != null) { using (var paletteLif = LifFile.Read(paletteEntry.GetStream())) return(PaletteFile.FromLif(paletteLif)); } } } return(null); }
public override void FillSettings(AppSettings settings) { LddSettings = settings.LddSettings; SettingsEnvironment = new LDDEnvironment( settings.LddSettings.ProgramFilesPath, settings.LddSettings.ApplicationDataPath); FillLddSettings(SettingsEnvironment); HasSettingsChanged = false; }
public static PartWrapper LoadPart(LDDEnvironment environment, int partID, bool loadMeshes) { if (environment.DatabaseExtracted) { var primitivesDir = environment.GetAppDataSubDir("db\\Primitives"); return(GetPartFromDirectory(primitivesDir, partID, loadMeshes)); } else { using (var lif = LifFile.Open(environment.GetLifFilePath(LddLif.DB))) return(GetPartFromLif(lif, partID, loadMeshes)); } }
public void SaveToLdd(LDDEnvironment environment) { var primitivesDir = environment.GetAppDataSubDir("db\\Primitives\\"); //var meshesDir = environment.GetAppDataSubDir("db\\Primitives\\LOD0\\"); Primitive.Save(Path.Combine(primitivesDir, $"{PartID}.xml")); foreach (var surface in Surfaces) { surface.Mesh.Save(Path.Combine(primitivesDir, "LOD0", surface.GetFileName())); } }
public static void Initialize() { if (!Directory.Exists(AppDataFolder)) { Directory.CreateDirectory(AppDataFolder); } if (!LDDEnvironment.HasInitialized) { LDDEnvironment.Initialize(); } LoadSettings(); }
private static void ValidateLddPaths() { bool sameAsInstalled = false; if (LDDEnvironment.IsInstalled) { sameAsInstalled = StringUtils.EqualsIC( Current.LddSettings.ApplicationDataPath, LDDEnvironment.InstalledEnvironment.ApplicationDataPath ) && StringUtils.EqualsIC( Current.LddSettings.ProgramFilesPath, LDDEnvironment.InstalledEnvironment.ProgramFilesPath ); } if (sameAsInstalled) { LDDEnvironment.SetOverride(null); } else { if (LDDEnvironment.IsInstalled) { if (string.IsNullOrEmpty(Current.LddSettings.ProgramFilesPath)) { Current.LddSettings.ProgramFilesPath = LDDEnvironment.InstalledEnvironment.ProgramFilesPath; } if (string.IsNullOrEmpty(Current.LddSettings.ApplicationDataPath)) { Current.LddSettings.ApplicationDataPath = LDDEnvironment.InstalledEnvironment.ApplicationDataPath; } } if (!string.IsNullOrEmpty(Current.LddSettings.ProgramFilesPath) || !string.IsNullOrEmpty(Current.LddSettings.ApplicationDataPath)) { var custom = LDDEnvironment.Create( Current.LddSettings.ProgramFilesPath, Current.LddSettings.ApplicationDataPath); LDDEnvironment.SetOverride(custom); } else { LDDEnvironment.SetOverride(null); } } }
private void InitOrUptateDatabase() { UpdateCurrentStep("Database initialisation"); UpdateCurrentProgress(0, 0); UpdateCurrentStatus("Verifying database..."); if (!SettingsManager.HasInitialized) { SettingsManager.Initialize(); } string databasePath = SettingsManager.GetFilePath(SettingsManager.DATABASE_FILENAME); if (!SettingsManager.DatabaseExists()) { UpdateCurrentStatus("Creating database..."); string templateDbPath = Path.GetFullPath("Resources\\EmptyDatabase.db"); File.Copy(templateDbPath, databasePath); } UpdateCurrentStatus("Verifying LDD installation..."); if (!LDDEnvironment.HasInitialized) { LDDEnvironment.Initialize(); } if (LDDEnvironment.Current == null) { MessageBox.Show("Could not locate LDD installation."); CTS.Cancel(); OnDbInitializationComplete(); return; } try { DatabaseInitializer.InitializeOrUpdateDatabase(databasePath, DatabaseInitializer.InitializationStep.LddPartsAndElements | DatabaseInitializer.InitializationStep.RebrickableLddMappings, CTS.Token, this); } catch (Exception ex) { CTS.Cancel(); } OnDbInitializationComplete(); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!SettingsManager.HasInitialized) { SettingsManager.Initialize(); } LDDEnvironment.Initialize(); RebrickableAPI.ApiKey = "aU49o5xulf"; RebrickableAPI.InitializeClient(); if (!SettingsManager.DatabaseExists()) { using (var win = new DatabaseInitProgressWindow()) { win.StartPosition = FormStartPosition.CenterParent; win.ShowDialog(); } } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!LDDEnvironment.HasInitialized) { LDDEnvironment.Initialize(); } AssimpContext = new Assimp.AssimpContext(); bool isProjectOpen = (CurrentProject != null); CurrentProjectRb.Enabled = isProjectOpen; (isProjectOpen ? CurrentProjectRb : SelectPartRb).Checked = true; PartBrowseTextBox.Enabled = SelectPartRb.Checked; if (SelectPartRb.Checked) { ValidateSelectedPartID(); } }
public RebrickableDataImporter(SQLiteConnection connection, LDDEnvironment environment, CancellationToken cancellationToken) : base(connection, environment, cancellationToken) { }
public DbInitializerModule(SQLiteConnection connection, LDDEnvironment environment, CancellationToken cancellationToken) { Connection = connection; Environment = environment; CancellationToken = cancellationToken; }