public ProtogameEditorWorld( INode worldNode, IHierarchy hierarchy, ISkinLayout skinLayout, ISkinDelegator skinDelegator, IAssetManager assetManager, IMainMenuController mainMenuController, IEditorWindowFactory editorWindowFactory, IProjectManager projectManager, ILoadedGame loadedGame, IRecentProjects recentProjects, IThumbnailSampler thumbnailSampler, IExtensionManager extensionManager) { _skinLayout = skinLayout; _skinDelegator = skinDelegator; _assetManager = assetManager; _mainMenuController = mainMenuController; _editorWindowFactory = editorWindowFactory; _projectManager = projectManager; _loadedGame = loadedGame; _recentProjects = recentProjects; _thumbnailSampler = thumbnailSampler; _extensionManager = extensionManager; SetupCanvas(); var entity = new CanvasEntity(_skinLayout, _skinDelegator); entity.Canvas = _canvas; hierarchy.AddChildNode(worldNode, hierarchy.CreateNodeForObject(entity)); }
public ProjectManager( IRawLaunchArguments launchArguments, IConsoleHandle consoleHandle, ICoroutine coroutine, IRecentProjects recentProjects) { _coroutine = coroutine; _consoleHandle = consoleHandle; _recentProjects = recentProjects; var arguments = launchArguments.Arguments; var directoryIndex = Array.IndexOf(arguments, "--project"); if (!(directoryIndex == -1 || directoryIndex == arguments.Length - 1)) { LoadProject(arguments[directoryIndex + 1]); } }
public StartEditorWindow( IAssetManager assetManager, IProjectManager projectManager, IProjectManagerUi projectManagerUi, ICoroutine coroutine, IRecentProjects recentProjects, I2DRenderUtilities renderUtilities) { _assetManager = assetManager; _projectManager = projectManager; _coroutine = coroutine; _recentProjects = recentProjects; _renderUtilities = renderUtilities; Title = "Welcome!"; Icon = _assetManager.Get <TextureAsset>("texture.IconWelcome"); var newProject = new Button { Text = "New Project" }; var openProject = new Button { Text = "Open Project" }; openProject.Click += (sender, e) => { _coroutine.Run(() => projectManagerUi.LoadProject()); }; var buttonContainer = new HorizontalContainer(); buttonContainer.AddChild(newProject, "*"); buttonContainer.AddChild(new EmptyContainer(), "20"); buttonContainer.AddChild(openProject, "*"); _recentProjectsContainer = new VerticalContainer(); //var scrollableContainer = new ScrollableContainer(); //scrollableContainer.SetChild(_recentProjectsContainer); var verticalContainer = new VerticalContainer(); verticalContainer.AddChild(new Label { Font = _assetManager.Get <FontAsset>("font.Welcome"), Text = "Welcome to Protogame!", HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top }, "80"); verticalContainer.AddChild(buttonContainer, "60"); verticalContainer.AddChild(new EmptyContainer(), "24"); verticalContainer.AddChild(_recentProjectsContainer, "*"); var outerVertContainer = new VerticalContainer(); outerVertContainer.AddChild(new EmptyContainer(), "15%"); outerVertContainer.AddChild(verticalContainer, "*"); outerVertContainer.AddChild(new EmptyContainer(), "15%"); var outerHorContainer = new HorizontalContainer(); outerHorContainer.AddChild(new EmptyContainer(), "15%"); outerHorContainer.AddChild(outerVertContainer, "*"); outerHorContainer.AddChild(new EmptyContainer(), "15%"); SetChild(outerHorContainer); }