Пример #1
0
        public static void InitialiseDependencies(string gamePath, bool isForFullGame)
        {
            _console = new CommandConsole();

            _gameConfigurationPersistance = new ConsoleGameConfigurationPersister();
            var adventureGameSetup = _gameConfigurationPersistance.LoadGameModel(gamePath);

            _gameConfiguration = new GameConfiguration(adventureGameSetup);

            _adventureApi = new AdventureApi(_gameConfiguration, new FilePersister(), _console);

            if (isForFullGame)
            {
                _waitingToRunTask = ShowSplashScreen(adventureGameSetup.GameName);
            }

            if (!isForFullGame)
            {
                adventureGameSetup.ClearAllScripts();

                _adventureApi.GameData.IsFirstTimeThrough    = false;
                _adventureApi.GameData.EnableScore           = false;
                _adventureApi.GameData.EnableShowItemsInRoom = false;
                _adventureApi.GameData.EnableInventorySize   = false;
                _adventureApi.GameData.EnableTitles          = false;
            }

            _languageApi = new LanguageApi(_adventureApi, _gameConfiguration);

            _executionEngine = new PythonExecutionEngine(_adventureApi, _console, _languageApi);

            ((LanguageApi)_languageApi).ExecutionEngine = _executionEngine;

            _adventureGameEngine = new AdventureGameEngine(_console, _gameConfiguration,
                                                           _adventureApi, _executionEngine, _languageApi);

            if (isForFullGame)
            {
                _adventureGameEngine.StateChanged += GameStateChanged;
            }

            _adventureGameEngine.InitialiseCore();

            if (!isForFullGame)
            {
                _adventureGameEngine.InitialiseTheGame();
            }
        }
Пример #2
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='lang'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IList <LMSDomainCoreModelsLanguage> > GetSystemLanguagesAsync(this ILanguageApi operations, string lang, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetSystemLanguagesWithHttpMessagesAsync(lang, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Пример #3
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='lang'>
 /// </param>
 public static IList <LMSDomainCoreModelsLanguage> GetSystemLanguages(this ILanguageApi operations, string lang)
 {
     return(operations.GetSystemLanguagesAsync(lang).GetAwaiter().GetResult());
 }