private void CopyInstanceExecute(object obj)
        {
            var cls = ClassesCollectionView.CurrentItem as NdfClassViewModel;

            if (cls == null)
            {
                return;
            }

            var inst = cls.InstancesCollectionView.CurrentItem as NdfObjectViewModel;

            if (inst == null)
            {
                return;
            }

            if (!inst.Object.IsTopObject)
            {
                MessageBox.Show("You can only create a copy of an top object.", "Information", MessageBoxButton.OK);
                return;
            }

            _copyInstanceResults = new List <NdfObject>();

            CopyInstance(inst.Object);

            var resultViewModel = new ObjectCopyResultViewModel(_copyInstanceResults, this);

            DialogProvider.ProvideView(resultViewModel, this);
        }
Exemplo n.º 2
0
        private void OpenInstanceExecute(object obj)
        {
            var cls = obj as NdfObjectViewModel;

            if (cls == null)
            {
                return;
            }
            var vm = new NdfClassViewModel(cls.Object.Class, this);
            NdfObjectViewModel inst = vm.Instances.SingleOrDefault(x => x.Id == cls.Id);
            ViewModelBase      baseViewModel;

            switch (cls.Object.Class.Name)
            {
            case "TGameplayArmeArmureContainer":
            case "TGameplayDamageResistanceContainer":
                baseViewModel = new ArmourDamageViewModel(inst.Object, this);
                break;

            default:
                if (inst == null)
                {
                    return;
                }
                vm.InstancesCollectionView.MoveCurrentTo(inst);
                baseViewModel = vm;
                break;
            }
            DialogProvider.ProvideView(baseViewModel, this);
        }
Exemplo n.º 3
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            var mainVm = new EdataManagerViewModel();

            DialogProvider.ProvideView(mainVm);

            //var versionVm = new VersionManagerViewModel(mainVm);
            //DialogProvider.ProvideView(versionVm);
        }
Exemplo n.º 4
0
        private void FollowList(IValueHolder prop)
        {
            var refe = prop.Value as NdfCollection;

            if (refe == null)
            {
                return;
            }

            var editor = new ListEditorViewModel(refe, NdfbinManager);

            DialogProvider.ProvideView(editor, this);
        }
        private void FindAllReferencesExecute(object obj)
        {
            var cls = ClassesCollectionView.CurrentItem as NdfClassViewModel;

            if (cls == null)
            {
                return;
            }

            var inst = cls.InstancesCollectionView.CurrentItem as NdfObjectViewModel;

            if (inst == null)
            {
                return;
            }

            var result = new List <NdfPropertyValue>();

            Dispatcher      dispatcher = Dispatcher.CurrentDispatcher;
            Action <string> report     = msg => StatusText = msg;

            var s = new Task(() =>
            {
                try
                {
                    //dispatcher.Invoke(() => IsUIBusy = true);
                    dispatcher.Invoke(report, string.Format("Searching for references..."));

                    foreach (var instance in NdfBinary.Instances)
                    {
                        foreach (var propertyValue in instance.PropertyValues)
                        {
                            GetValue(propertyValue, inst, result, propertyValue);
                        }
                    }

                    var resultVm = new ReferenceSearchResultViewModel(result, this);

                    dispatcher.Invoke(() => DialogProvider.ProvideView(resultVm, this));
                    dispatcher.Invoke(report, string.Format("{0} references found", result.Count));
                }
                catch (Exception ex)
                {
                    Trace.TraceError(string.Format("Error while saving Ndfbin file: {0}", ex));
                    dispatcher.Invoke(report, "Error while searching");
                }
            });

            s.Start();
        }
Exemplo n.º 6
0
        private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
        {
            e.Handled = true;

            var vm = new UnhandledExceptionViewModel(e.Exception);

            DialogProvider.ProvideView(vm);

            var excep = e.Exception;

            while (excep != null)
            {
                Trace.TraceError("Unhandeled exception occoured: {0}", e.Exception);
                excep = excep.InnerException;
            }
        }
        private void FollowList(IValueHolder prop)
        {
            var refe = prop.Value as NdfCollection;

            if (refe == null)
            {
                return;
            }

            if (isTable(refe))
            {
                var editor = new ListEditorViewModel(refe, Object.Class.Manager);
                DialogProvider.ProvideView(editor, ParentVm);
            }
            else
            {
                var editor = new ListEditorViewModel(refe, Object.Class.Manager);
                DialogProvider.ProvideView(editor, ParentVm);
            }
        }
        protected void EditTradFileExecute(object obj)
        {
            var vm = CollectionViewSource.GetDefaultView(OpenFiles).CurrentItem as EdataFileViewModel;

            if (vm == null)
            {
                return;
            }

            var ndf = vm.FilesCollectionView.CurrentItem as EdataContentFile;

            if (ndf == null)
            {
                return;
            }

            var tradVm = new TradFileViewModel(ndf, vm);

            DialogProvider.ProvideView(tradVm, this);
        }
Exemplo n.º 9
0
        private void DetailsExecute(object obj)
        {
            var propVal = obj as NdfPropertyValue;

            if (propVal == null)
            {
                return;
            }

            var vm = new NdfClassViewModel(propVal.Instance.Class, this);

            NdfObjectViewModel inst = vm.Instances.SingleOrDefault(x => x.Id == propVal.Instance.Id);

            if (inst == null)
            {
                return;
            }

            vm.InstancesCollectionView.MoveCurrentTo(inst);

            DialogProvider.ProvideView(vm, Editor);
        }
        private void FollowObjectReference(IValueHolder prop)
        {
            var refe = prop.Value as NdfObjectReference;

            if (refe == null)
            {
                return;
            }

            var vm = new NdfClassViewModel(refe.Class, ParentVm);

            NdfObjectViewModel inst = vm.Instances.SingleOrDefault(x => x.Id == refe.InstanceId);

            if (inst == null)
            {
                return;
            }

            vm.InstancesCollectionView.MoveCurrentTo(inst);

            DialogProvider.ProvideView(vm, ParentVm);
        }
        private void OpenInstanceExecute(object obj)
        {
            var cls = obj as NdfObjectViewModel;

            if (cls == null)
            {
                return;
            }

            var vm = new NdfClassViewModel(cls.Object.Class, this);

            NdfObjectViewModel inst = vm.Instances.SingleOrDefault(x => x.Id == cls.Id);

            if (inst == null)
            {
                return;
            }

            vm.InstancesCollectionView.MoveCurrentTo(inst);

            DialogProvider.ProvideView(vm, this);
        }
        private void EditGameModeLogicExecute(object obj)
        {
            var ndfEditor = new NdfEditorMainViewModel(ScenarioFile.NdfBinary);

            DialogProvider.ProvideView(ndfEditor, this);
        }
Exemplo n.º 13
0
        private void EditTextureBindingsExecute(object obj)
        {
            var ndfEditor = new NdfEditorMainViewModel(MeshFile.TextureBindings);

            DialogProvider.ProvideView(ndfEditor, this);
        }
Exemplo n.º 14
0
 protected void AboutUsExecute(object obj)
 {
     DialogProvider.ProvideView(new AboutViewModel(), this);
 }