コード例 #1
0
 private void NotifyHelper_SaveEventTriggerModel(SaveEventTriggerModelArgs obj)
 {
     if (Validate(obj.CurrentEventTriggerModel))
     {
         if (tab_content.SelectedContent is BaseContentView view)
         {
             var path = _viewMap[view].SaveFilePath;
             _taskQueue.Enqueue(() =>
             {
                 ObjectExtensions.GetInstance <CacheDataManager>().MakeIndexTriggerModel(obj.CurrentEventTriggerModel);
                 return(view.Save(path));
             }).ContinueWith(task =>
             {
                 if (task.IsFaulted == false)
                 {
                     Dispatcher.Invoke(() =>
                     {
                         Clear();
                     });
                 }
                 else
                 {
                     this.MessageShow("Error", DocumentHelper.Get(Utils.Document.Message.FailedSaveFile));
                 }
             });
         }
     }
 }
コード例 #2
0
        private void NotifyHelper_SaveEventTriggerModel(SaveEventTriggerModelArgs obj)
        {
            if (tab_content.SelectedContent is BaseContentView baseView)
            {
                var viewObj = _viewMap[baseView.Tag.ToString()];

                var process = comboProcess.SelectedValue as Process;

                var rect = new Rect();

                obj.CurrentEventTriggerModel.ProcessInfo = new ProcessInfo()
                {
                    ProcessName = process?.ProcessName,
                    Position    = rect
                };

                if (viewObj.View.Validate(obj.CurrentEventTriggerModel, out Message error))
                {
                    NativeHelper.GetWindowRect(process.MainWindowHandle, ref rect);

                    var path = viewObj.SaveFilePath;

                    _taskQueue.Enqueue(() =>
                    {
                        Dispatcher.Invoke(() =>
                        {
                            if (obj.CurrentEventTriggerModel is GameEventTriggerModel)
                            {
                                var model = obj.CurrentEventTriggerModel as GameEventTriggerModel;
                                ObjectExtensions.GetInstance <CacheDataManager>().MakeIndexTriggerModel(model);
                            }
                            else if (obj.CurrentEventTriggerModel is EventTriggerModel)
                            {
                                var model = obj.CurrentEventTriggerModel as EventTriggerModel;
                                ObjectExtensions.GetInstance <CacheDataManager>().MakeIndexTriggerModel(model);
                                SettingProcessMonitorInfo(model, process);
                            }
                        });
                        return(viewObj.View.Save(path));
                    }).ContinueWith(task =>
                    {
                        if (task.IsFaulted == false)
                        {
                            Dispatcher.Invoke(() =>
                            {
                                Clear();
                            });
                        }
                        else
                        {
                            this.MessageShow("Error", DocumentHelper.Get(Message.FailedSaveFile));
                        }
                    });
                }
                else
                {
                    this.MessageShow("Error", DocumentHelper.Get(error));
                }
            }
        }