protected override void LoadChildren() { _lmpFile.ReadDirectory(); foreach (var entry in _lmpFile.Directory) { var ext = ""; try { ext = (System.IO.Path.GetExtension(entry.Key) ?? "").ToLower(); } catch (Exception e) { Console.WriteLine(e); continue; } TreeViewItemViewModel child; switch (ext) { case ".world": child = new WorldFileTreeViewModel(_world, this, _lmpFile, entry.Key); break; default: child = new LmpEntryTreeViewModel(_world, this, _lmpFile, entry.Key); break; } Children.Add(child); } }
private void OnWorldEntrySelected(WorldFileTreeViewModel worldFileModel) { var engineVersion = App.Settings.Get <EngineVersion>("Core.EngineVersion", EngineVersion.DarkAlliance); var lmpFile = worldFileModel.LmpFileProperty; var entry = lmpFile.Directory[worldFileModel.Text]; WorldFileDecoder decoder = new WorldFileDecoder(); var log = new StringLogger(); _world.worldData = decoder.Decode(engineVersion, _worldTreeViewModel.World().WorldTex, log, lmpFile.FileData, entry.StartOffset, entry.Length); worldFileModel.ReloadChildren(); _levelViewModel.WorldNode = worldFileModel; _levelViewModel.WorldData = _world.worldData; LogText = log.ToString(); LogText += _world.worldData.ToString(); _window.tabControl.SelectedIndex = 3; // Level View _window.ResetCamera(); _window.SetViewportText(3, worldFileModel.Text, ""); // Set Level View Text }
private void OnWorldEntrySelected(WorldFileTreeViewModel worldFileModel) { var engineVersion = App.Settings.Get<EngineVersion>("Core.EngineVersion", EngineVersion.DarkAlliance); var lmpFile = worldFileModel.LmpFileProperty; var entry = lmpFile.Directory[worldFileModel.Text]; WorldFileDecoder decoder = new WorldFileDecoder(); var log = new StringLogger(); _world.worldData = decoder.Decode(engineVersion, _worldTreeViewModel.World().WorldTex, log, lmpFile.FileData, entry.StartOffset, entry.Length); worldFileModel.ReloadChildren(); _levelViewModel.WorldNode = worldFileModel; _levelViewModel.WorldData = _world.worldData; LogText = log.ToString(); LogText += _world.worldData.ToString(); _window.tabControl.SelectedIndex = 3; // Level View _window.ResetCamera(); _window.SetViewportText(3, worldFileModel.Text, ""); // Set Level View Text }
protected override void LoadChildren() { _lmpFile.ReadDirectory(); foreach (var entry in _lmpFile.Directory) { var ext = (System.IO.Path.GetExtension(entry.Key) ?? "").ToLower(); TreeViewItemViewModel child; switch (ext) { case ".world": child = new WorldFileTreeViewModel(_world, this, _lmpFile, entry.Key); break; default: child = new LmpEntryTreeViewModel(_world, this, _lmpFile, entry.Key); break; } Children.Add(child); } }