private void OpenKingdomSelector(object sender, EventArgs args) { SceneSelector sceneSelect = new SceneSelector(); sceneSelect.LoadDictionary(SMO_Scene.OdysseyStages); if (sceneSelect.ShowDialog() == DialogResult.OK) { SMO_Scene.LoadStage(sceneSelect.SelectedFile); } }
public static void OpenSceneByName() { AssetsManager am = new AssetsManager(); am.LoadClassPackage(Path.Combine(Application.dataPath, "cldb.dat")); string gameDataPath = GetGamePath(); AssetsFileInstance inst = am.LoadAssetsFile(Path.Combine(gameDataPath, "globalgamemanagers"), false); AssetFileInfoEx buildSettings = inst.table.getAssetInfo(11); List <string> scenes = new List <string>(); AssetTypeValueField baseField = am.GetATI(inst.file, buildSettings).GetBaseField(); AssetTypeValueField sceneArray = baseField.Get("scenes").Get("Array"); for (uint i = 0; i < sceneArray.GetValue().AsArray().size; i++) { scenes.Add(sceneArray[i].GetValue().AsString() + "[" + i + "]"); } SceneSelector sel = SceneSelector.ShowDialog(am, scenes, gameDataPath); }