Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        protected void RegisterComponent(object component)
        {
            if (_node == null || _hierarchy == null)
            {
                // No hierarchy, always use private list.
                _nonHierarchyComponents.Add(component);

                UpdateCache();
                UpdateEnabledInterfacesCache();
            }
            else
            {
                // Check if the component is underneath this hierarchy, if node, add it.
                if (_node.Children.All(x => x.UntypedValue != component))
                {
                    // It is not underneath the hierarchy; add it.
                    var childNode = _hierarchy.Lookup(component) ?? _hierarchy.CreateNodeForObject(component);

                    _hierarchy.AddChildNode(_node, childNode);
                }
            }
        }