public void Populate(QuestFile file) { gridBlocks.DataSource = file.Blocks; gridBlocks.Refresh(); SelectBlock(0); }
public QuestPanel(QuestFile file) { InitializeComponent(); this.file = file; init(); }
public frmChooseQuestVersion(QuestFile file) { InitializeComponent(); this.file = file; cbQuestVersion.Items.AddRange(new string[] { "NA 2011", "CN 2012", "EU 2015" }); cbQuestVersion.SelectedIndex = 0; }
private async void openFile(string fileName) { try { dynamic file = null; var dgv = new DataGridView(); // Display the hidden progressbar in the statusbar. pbProgress.Visible = true; // Determine what file type it is and cast to the appropriate type. switch (Path.GetExtension(fileName)) { case ".shn": if (Path.GetFileNameWithoutExtension(fileName).ToLower() == "questdata") { file = new QuestFile(fileName); Program.LoadedFiles.Add(file); Extensions.FileType = FileType.QuestFile; var mainTab = new TabPage("QuestFile"); var qTab = new TabPage("Quests"); var dTab = new TabPage("Dialouges"); mainTab.BackColor = Color.White; dTab.BackColor = Color.White; qTab.BackColor = Color.White; var tc = new TabControl(); tc.Dock = DockStyle.Fill; qTab.Padding = new Padding(0, 5, 0, 0); dTab.Padding = new Padding(0, 5, 0, 0); mainTab.Padding = new Padding(0, 5, 0, 0); tc.TabPages.Add(qTab); tc.TabPages.Add(dTab); mainTab.Controls.Add(tc); var qPanel = new QuestPanel(file); qPanel.Dock = DockStyle.Fill; qTab.BackColor = Color.White; qTab.Controls.Add(qPanel); tcFiles.TabPages.Add(mainTab); tcFiles.SelectedIndex = tcFiles.TabPages.Count - 1; pbProgress.Visible = false; pbProgress.Value = 0; lblStatus.Text = "Ready"; updateFileInfo(); return; } file = new SHNFile(fileName); Extensions.FileType = FileType.SHNFile; break; case ".txt": file = new ShineFile(fileName); Extensions.FileType = FileType.ShineFile; break; default: throw new Exception("File type not supported"); } lblStatus.Text = "Reading " + Path.GetFileName(fileName); // Await the asynchronous Load method and display the reported progress in our progressbar. await Task.Run(() => file.Load(new Progress <int>(value => mainStatusStrip.Invoke(new MethodInvoker(() => { pbProgress.Value = value; })) ))); Program.LoadedFiles.Add(file); if (file.GetType() == typeof(SHNFile)) { dgv = new DataGridView(); dgv.Dock = DockStyle.Fill; dgv.BackgroundColor = Color.WhiteSmoke; dgv.DoubleBuffered(true); dgv.DataSource = file; dgv.CellEnter += File_CellEnter; var tab = new TabPage(file.TableName); file.RowChanged += new DataRowChangeEventHandler(File_RowChanged); tab.Controls.Add(dgv); tcFiles.TabPages.Add(tab); tcFiles.SelectedIndex = tcFiles.TabPages.Count - 1; } else if (file.GetType() == typeof(ShineFile)) { var mainTab = new TabPage(file.DataSetName); var tcTables = new TabControl(); tcTables.Dock = DockStyle.Fill; tcTables.SelectedIndexChanged += new EventHandler((object s, EventArgs e) => { file.SelectedIndex = tcTables.SelectedIndex; }); mainTab.Controls.Add(tcTables); tcFiles.TabPages.Add(mainTab); mainTab.BackColor = Color.White; tcFiles.SelectedIndex = tcFiles.TabCount - 1; foreach (var table in file.Tables) { dgv = new DataGridView(); dgv.Dock = DockStyle.Fill; dgv.BackgroundColor = Color.WhiteSmoke; dgv.DoubleBuffered(true); dgv.DataSource = table; dgv.CellEnter += File_CellEnter; var tab = new TabPage(table.TableName); table.RowChanged += new DataRowChangeEventHandler(File_RowChanged); tab.Controls.Add(dgv); tcTables.TabPages.Add(tab); } } // Hide and reset the progressbar. pbProgress.Visible = false; pbProgress.Value = 0; lblStatus.Text = "Ready"; updateFileInfo(); } catch (Exception ex) { pbProgress.Visible = false; pbProgress.Value = 0; lblStatus.Text = "Ready"; MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
static Database() { if (!Instance) { Levels = DatabaseHelper.Deserialize <ModelLevels>("CharacterLevels.xml").Items; Blueprints = DatabaseHelper.Deserialize <ModelInventoryItemBlueprints>("EconBlueprints.xml").Items; Advisors = DatabaseHelper.Deserialize <ModelInventoryItemAdvisors>("advisors.xml").Items; Materials = DatabaseHelper.Deserialize <ModelInventoryItemMaterials>("econmaterials.xml").Items; Consumables = DatabaseHelper.Deserialize <ModelInventoryItemConsumables>("EconConsumables.xml").Items; Designs = DatabaseHelper.Deserialize <ModelInventoryItemDesigns>("EconDesigns.xml").Items; Craftschools = DatabaseHelper.Deserialize <ModelCraftschools>("craftschools.xml").Items; Vendors = DatabaseHelper.Deserialize <ModelVendors>("EconVendors.xml").Items; Lootrolls = DatabaseHelper.Deserialize <ModelInventoryItemLootrolls>("econLootRolls.xml").Items; Questgivers = DatabaseHelper.Deserialize <ModelQuestgivers>("questgivers.xml").Items; Equipments = DatabaseHelper.Deserialize <ModelEquipments>("equipment.xml").Items; Nuggets = DatabaseHelper.Deserialize <ModelNuggets>("nuggets.xml").Items; NuggetLogics = DatabaseHelper.Deserialize <ModelNuggetLogics>("nuggetlogics.xml").Items; foreach (string CivilizationFile in Directory.GetFiles($"{PathingHelper.gamedatabaseDir}civilizations", "*.xml", SearchOption.TopDirectoryOnly)) { ModelCivilization Civilization = new ModelCivilization().DeserializeFromFile(CivilizationFile); Civilization.Source = CivilizationFile; Civilizations.Add(Civilization.CivId, Civilization); } List <string> ExcludedTraitDirectories = new List <string>(); ExcludedTraitDirectories.Add("_unused"); if (Convert.ToInt32(ConfigurationManager.AppSettings["UseLosGear"]) != 1) { ExcludedTraitDirectories.Add("_los"); } foreach (string TraitFile in Directory.GetFiles($"{PathingHelper.gamedatabaseDir}traits", "*.xml", SearchOption.AllDirectories).Where(f => !DatabaseHelper.IsExcluded(ExcludedTraitDirectories, f))) { Trait ObjTrait = new Trait().DeserializeFromFile(TraitFile); ObjTrait.Source = TraitFile; Traits.Add(ObjTrait.Name, ObjTrait); } foreach (string RegionFile in Directory.GetFiles($"{PathingHelper.gamedatabaseDir}regions", "*.region", SearchOption.TopDirectoryOnly)) { ModelRegion Region = new ModelRegion().DeserializeFromFile(RegionFile); Region.Source = RegionFile; Regions.Add(Region.Id, Region); } foreach (string QuestFile in Directory.GetFiles($"{PathingHelper.gamedatabaseDir}quests", "*.quest", SearchOption.AllDirectories)) { Quest ObjQuest = new Quest().DeserializeFromFile(QuestFile); ObjQuest.Source = QuestFile.Substring(0, QuestFile.LastIndexOf('.')).Replace($"{PathingHelper.gamedatabaseDir}", string.Empty).ToLower(); ObjQuest.Instance = DatabaseHelper.GetQuestInstance(ObjQuest); Quests.Add(ObjQuest.Id, ObjQuest); } Instance = true; } }