コード例 #1
0
        public UpdatePackageTemplateCollectionViewModel(SessionViewModel session)
            : base(session.SafeArgument(nameof(session)).ServiceProvider)
        {
            if (session == null)
            {
                throw new ArgumentNullException(nameof(session));
            }
            this.session = session;

            var rootGroup = new TemplateDescriptionGroupViewModel(ServiceProvider, "All templates");

            foreach (TemplateDescription template in session.FindTemplates(TemplateScope.Package))
            {
                var viewModel = new PackageTemplateViewModel(ServiceProvider, template, session);
                rootGroup.Templates.Add(viewModel);
            }

            Location = session.SolutionPath?.GetFullDirectory() ?? InternalSettings.TemplatesWindowDialogLastNewSessionTemplateDirectory.GetValue();
            if (string.IsNullOrWhiteSpace(Location))
            {
                Location = UPath.Combine <UDirectory>(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Stride Projects");
            }

            SelectedGroup = rootGroup;
        }
コード例 #2
0
        public NewProjectTemplateCollectionViewModel(IViewModelServiceProvider serviceProvider, SessionViewModel session)
            : base(serviceProvider)
        {
            if (session == null)
            {
                throw new ArgumentNullException(nameof(session));
            }
            Session = session;

            rootGroup = new TemplateDescriptionGroupViewModel(serviceProvider, "All templates");

            // Add a default General group
            var defaultGroup = new TemplateDescriptionGroupViewModel(rootGroup, "General");

            foreach (TemplateDescription template in session.FindTemplates(TemplateScope.Session))
            {
                if (!IsAssetsOnlyTemplate(template))
                {
                    continue;
                }

                var viewModel = new PackageTemplateViewModel(serviceProvider, template, session);
                var group     = ProcessGroup(rootGroup, template.Group) ?? defaultGroup;
                group.Templates.Add(viewModel);
            }

            Location = session.SolutionPath.GetFullDirectory() ?? InternalSettings.TemplatesWindowDialogLastNewSessionTemplateDirectory.GetValue();
            if (string.IsNullOrWhiteSpace(Location))
            {
                Location = UPath.Combine <UDirectory>(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Stride Projects");
            }

            SelectedGroup = rootGroup;
        }
コード例 #3
0
        public AddAssetTemplateCollectionViewModel(SessionViewModel session)
            : base(session.ServiceProvider)
        {
            foreach (TemplateDescription template in session.FindTemplates(TemplateScope.Asset))
            {
                var group = ProcessGroup(RootGroup, template.Group);
                if (group != null)
                {
                    var viewModel = new TemplateDescriptionViewModel(session.ServiceProvider, template);
                    group.Templates.Add(viewModel);
                }
            }

            SelectedGroup = RootGroup;
        }