Example #1
0
        public static async Task ShowOpenMapDialog(ViewportViewModel viewport)
        {
            OpenMapDialog dialog = new OpenMapDialog()
            {
                DataContext = new OpenMapViewModel(viewport)
            };

            await DialogHost.Show(dialog, "RootDialog", null, dialog.OnClose);
        }
Example #2
0
        public MainWindow()
        {
            InitializeComponent();

            _viewModel         = new MainWindowViewModel();
            _viewPortViewModel = new ViewportViewModel();

            Loaded += (sender, args) =>
            {
                DataContext             = _viewModel;
                ViewportContent.Content = _viewPortViewModel;
            };
        }
        public void UpdateItems()
        {
            Items = null;
            var doc = Editor.Current.Shell.ActiveDocument;
            IEnumerable <Type> types;

            if ((_materialEditor = doc as MaterialEditorViewModel) != null)
            {
                types       = new Type[0];
                _mode       = Mode.Expressions;
                DisplayName = "Material Expressions";
            }
            else if ((_scriptEditor = doc as CodeEditorViewModel) != null)
            {
                // TODO: code snippets.
                types       = new Type[0];
                _mode       = Mode.Snippets;
                DisplayName = "Code Snippets";
            }
            else if ((_viewportEditor = doc as ViewportViewModel) != null)
            {
                types = Inst.TypeDictionary.Values.Where(t =>
                                                         !t.IsAbstract && t.IsPublic && t.GetCustomAttribute <UncreatableAttribute>() == null &&
                                                         !typeof(Service).IsAssignableFrom(t.Type)).Select(t => t.Type);
                _mode       = Mode.Objects;
                DisplayName = "Advanced Objects";
            }
            else
            {
                types = new Type[0];
            }

            var entries = types.Select(t => new ObjectEntry(t));
            var items   = CollectionViewSource.GetDefaultView(entries);

            items.Filter = FilterFunc;
            items.SortDescriptions.Add(new SortDescription(nameof(ObjectEntry.Name), ListSortDirection.Ascending));
            Items = items;
        }
Example #4
0
        /// <summary>
        /// Opens the project.
        /// </summary>
        public void Open()
        {
            IsOpen = true;
            Editor.Current.Shell.Viewport?.TryClose();
            Editor.Current.Project = this;

            try
            {
                var gameFile = Path.Combine(ProjectPath, $"{Name}.game");

                if (!IsNew)
                {
                    using (var gameStream = File.OpenRead(gameFile))
                        Inst.Deserialize(gameStream, Game.DataModel);
                }

                Game.Workspace.LoadPlace(StartupPlace);
            }
#if !DEBUG
            catch (Exception e)
            {
                MessageBox.Show($"Could not load project:\n\n{e.Message}", "Open Project", MessageBoxButton.OK,
                                MessageBoxImage.Error);
                Close();
                return;
            }
#endif
            finally
            {
            }

            Editor.Current.Shell.Viewport = _viewportVm = new ViewportViewModel();
            Editor.Current.Shell.OpenDocument(_viewportVm);
            var loginService = DataModel.GetService <LoginService>();
            if (!loginService.IsLoggedIn())
            {
                loginService.TryLogin();
            }
        }
Example #5
0
 internal void SetSelectedViewportViewModel(ViewportViewModel viewportViewModel)
 {
     SelectedUmlDiagram          = viewportViewModel.UmlDiagram;
     SelectedUmlDiagramSimulator = viewportViewModel.UmlDiagram.UmlDiagramSimulator;
 }