public void GetContentFromOnlineService()
		{
			DeleteContentDirectoriesIfAvailable();
			var messagesReceived = new List<object>();
			var connection = new OnlineServiceConnection(new MockSettings(),
				() => { throw new ConnectionTimedOut(); });
			var contentLoader = new EditorContentLoader(connection);
			connection.Connected += () => GetProjectsAndLogin(connection);
			connection.DataReceived += message => { messagesReceived.Add(message); };
			Thread.Sleep(3000);
			CheckConnection(connection);
			CheckContentLoader(contentLoader);
			CheckAndWriteMessages(messagesReceived);
		}
예제 #2
0
        public void GetContentFromOnlineService()
        {
            DeleteContentDirectoriesIfAvailable();
            var messagesReceived = new List <object>();
            var connection       = new OnlineServiceConnection(new MockSettings(),
                                                               () => { throw new ConnectionTimedOut(); });
            var contentLoader = new EditorContentLoader(connection);

            connection.Connected    += () => GetProjectsAndLogin(connection);
            connection.DataReceived += message => { messagesReceived.Add(message); };
            Thread.Sleep(3000);
            CheckConnection(connection);
            CheckContentLoader(contentLoader);
            CheckAndWriteMessages(messagesReceived);
        }
예제 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="EditorGameController{TEditorGame}"/> class.
        /// </summary>
        /// <param name="asset">The asset associated with this instance.</param>
        /// <param name="editor">The editor associated with this instance.</param>
        /// <param name="gameFactory">The factory to create the editor game.</param>
        protected EditorGameController([NotNull] AssetViewModel asset, [NotNull] GameEditorViewModel editor, [NotNull] EditorGameFactory <TEditorGame> gameFactory)
        {
            if (asset == null)
            {
                throw new ArgumentNullException(nameof(asset));
            }
            if (editor == null)
            {
                throw new ArgumentNullException(nameof(editor));
            }

            Asset  = asset;
            Editor = editor;
            GameSideNodeContainer = new SessionNodeContainer(asset.Session)
            {
                NodeBuilder = { NodeFactory = new AssetNodeFactory() }
            };

            //Logger = GlobalLogger.GetLogger("Scene");
            Logger    = new LoggerResult();
            debugPage = EditorDebugTools.CreateLogDebugPage(Logger, "Scene");

            // Create the game
            var builderService = asset.ServiceProvider.Get <GameStudioBuilderService>();

            Game = gameFactory(gameContentLoadedTaskSource, builderService.EffectCompiler, builderService.EffectLogPath);
            Game.PackageSettings = asset.ServiceProvider.Get <GameSettingsProviderService>();
            sceneGameThread      = new Thread(SafeAction.Wrap(SceneGameRunThread))
            {
                IsBackground = true, Name = $"EditorGameThread ({asset.Url})"
            };
            sceneGameThread.SetApartmentState(ApartmentState.STA);

            Debug  = new EditorGameDebugService();
            Loader = new EditorContentLoader(this, Logger, asset, Game);
        }
		private static void CheckContentLoader(EditorContentLoader contentLoader)
		{
			Assert.NotNull(contentLoader);
			Assert.AreEqual(DefaultContentFiles + 2, contentLoader.GetAllNames().Count);
			Assert.AreEqual(DefaultImages + 1, contentLoader.GetAllNamesByType(ContentType.Image).Count);
		}
예제 #5
0
 private static void CheckContentLoader(EditorContentLoader contentLoader)
 {
     Assert.NotNull(contentLoader);
     Assert.AreEqual(DefaultContentFiles + 2, contentLoader.GetAllNames().Count);
     Assert.AreEqual(DefaultImages + 1, contentLoader.GetAllNamesByType(ContentType.Image).Count);
 }