示例#1
0
        private void InitializeCommands()
        {
            SaveApplicationSettingCommand = new RelayCommand(p =>
            {
                var defaultAction = actionProvider.GetDefaultActions();

                defaultAction.X = X;
                defaultAction.Y = Y;
                defaultAction.IsKeepAfterUpdate = IsKeepAfterUpdate;

                defaultAction.Dict = defaultActionViewModelDict.ToDictionary(k => k.Key, v => v.Value.Select(vm => vm.ConvertBackToAction()).ToList());


                if (actionProvider.SaveDefaultActions(defaultAction))
                {
                    ;
                }
                SettingSaved?.Invoke(this, EventArgs.Empty);
            });
        }
示例#2
0
        /// <summary>
        /// Scale the default action to macro resolution
        /// </summary>
        /// <param name="macro"></param>
        /// <param name="actionList"></param>
        /// <returns></returns>
        private IList <IAction> ScaleActionsToMacroResolution(MacroTemplate macro, IList <IAction> actionList)
        {
            var newList = new List <IAction>();

            //double scaleX = macro.OriginalX / 1280.0;
            //double scaleY = macro.OriginalY / 720.0;
            GlobalData.CustomX   = macro.OriginalX;
            GlobalData.CustomY   = macro.OriginalY;
            GlobalData.OriginalX = actionProvider.GetDefaultActions().X;
            GlobalData.OriginalY = actionProvider.GetDefaultActions().Y;
            GlobalData.Emulator  = Emulator.Nox;

            foreach (var action in actionList)
            {
                switch (action.BasicAction)
                {
                case BasicAction.Click:
                    var copied = this.autoMapper.SimpleAutoMap <Click, Click>(action as Click);
                    //copied.ClickPoint = new System.Windows.Point(Math.Round((action as Click).ClickPoint.X * scaleX), Math.Round((action as Click).ClickPoint.Y * scaleY));
                    copied.Scale();
                    newList.Add(copied);
                    break;

                case BasicAction.Swipe:
                    var copiedSwipe = this.autoMapper.SimpleAutoMap <Swipe, Swipe>(action as Swipe);
                    //copiedSwipe.PointList = copiedSwipe.PointList.Select(sp => new SwipePoint(sp)).ToList();
                    copiedSwipe.Scale();
                    newList.Add(copiedSwipe);
                    break;

                default:
                    newList.Add(action);
                    break;
                }
            }

            ApplyConvertSetting(macro);

            return(newList);
        }