Ejemplo n.º 1
0
        public bool Load()
        {
            try
            {
                FileInfo configPath = App.CreateFileInfo(ConfigPath);
                if (configPath.Exists)
                {
                    _iniFile = new IniConfigSource(configPath.FullName);
                }
                else
                {
                    // Default Settings
                    _iniFile = new IniConfigSource();
                    _iniFile.Save(configPath.FullName);
                    SelectedLanguage = LanguageType.English;
                }
                foreach (GameType gameType in Enum.GetValues(typeof(GameType)))
                {
                    string   section = GetString(gameType);
                    GameBase game;
                    switch (gameType)
                    {
                    case GameType.Dance:
                        game = new DanceGame();
                        break;

                    case GameType.Ez2OnR13:
                        continue;
                        game = new Ez2OnR13Game();
                        break;

                    case GameType.Ez2OnR14:
                        game = new Ez2OnR14Game();
                        break;

                    default: continue;
                    }
                    IConfig gameSection = _iniFile.Configs[section];
                    if (gameSection != null)
                    {
                        game.Executable    = App.CreateFileInfo(gameSection.Get(GAME_EXE));
                        game.RememberLogin = gameSection.GetBoolean(GAME_REMEMBER_LOGIN);
                        game.WindowMode    = gameSection.GetBoolean(GAME_WINDOW_MODE);
                        game.Account       = gameSection.Get(GAME_ACCOUNT);
                        game.Hash          = gameSection.Get(GAME_HASH);
                        game.Host          = gameSection.Get(GAME_HOST);
                        game.Port          = (ushort)gameSection.GetInt(GAME_PORT);
                    }
                    else
                    {
                        game.SetDefaultValues();
                    }
                    Games.Add(game);
                }
                IConfig launcherSection = _iniFile.Configs[SECTION_LAUNCHER];
                if (launcherSection != null)
                {
                    GameType selectedGameType = GetGameType(launcherSection.Get(LAUNCHER_GAME));
                    SelectedGame     = GetGame(selectedGameType);
                    SelectedLanguage = GetLanguageType(launcherSection.Get(LAUNCHER_LANGUAGE));
                }
            }
            catch (Exception ex)
            {
                App.Logger.Log(ex, "LauncherConfig::Load");
                if (File.Exists(ConfigPath))
                {
                    DialogBox dBox   = new DialogBox(App.Window, "Configuration file was corrupted, delete and try again?", "Configuration File Error");
                    bool?     result = dBox.ShowDialog();
                    if (result == true)
                    {
                        Delete();
                        Thread.Sleep(100);
                        return(Load());
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
    private void Start()
    {
        GameObject localPlayerGameObject = SceneRefs.ZoneLocalPlayerManager.LocalPlayerGameObject;

        danceGame = localPlayerGameObject.GetComponent <DanceGame>();
    }