/// <summary> /// This function is called when StoreCampaignObject("VDB_", ..) /// is invoked. /// </summary> /// <param name="sender">Unused.</param> /// <param name="e">Supplies event data.</param> public static void CampaignDatabase_StoreItemModifyEvent(object sender, CampaignDatabase.StoreCampaignDatabaseEventArgs e) { if (!e.CampaignName.StartsWith("ItMod")) { return; } if (ALFA.Shared.Modules.InfoStore.ModifiedGff.Keys.Contains(e.VarName)) { ALFA.Shared.Modules.InfoStore.ModifiedGff[e.VarName] = new GFFFile(e.GFF); } else { ALFA.Shared.Modules.InfoStore.ModifiedGff.Add(e.VarName, new GFFFile(e.GFF)); } e.Handled = true; }
/// <summary> /// This function is called when StoreCampaignObject("VDB_", ..) /// is invoked. /// </summary> /// <param name="sender">Unused.</param> /// <param name="e">Supplies event data.</param> void CampaignDatabase_StoreCampaignDatabaseEvent(object sender, CampaignDatabase.StoreCampaignDatabaseEventArgs e) { // // Interested only in VDB_File_<Campaign>. // if (!e.CampaignName.StartsWith("File_")) { return; } string DirectoryName = e.CampaignName.Substring(5); if (!SystemInfo.IsSafeFileName(DirectoryName)) { return; } if (!SystemInfo.IsSafeFileName(e.VarName)) { return; } try { DirectoryName = DatabaseStoreDirectory + DirectoryName; Directory.CreateDirectory(DirectoryName); string FileName = String.Format("{0}{1}{2}.GFF", DirectoryName, Path.DirectorySeparatorChar, e.VarName); File.WriteAllBytes(FileName, e.GFF); } catch (Exception ex) { ALFA.Shared.Logger.Log("CampaignObjectFileStore.CampaignDatabase_RetrieveCampaignDatabaseEvent({0}): Exception: {1}", DirectoryName, ex); return; } catch { return; } e.Handled = true; }