Exemple #1
0
 public static UserInputData[][] GetAllUserInputData(int tickId, Type inputType)
 {
     if (HasTickId(tickId))
     {
         var dataList = new List <List <UserInputData> >();
         for (int i = 0; i < inputTrackDict[tickId].Count; i++)
         {
             dataList.Add(new List <UserInputData>());
             var e = inputTrackDict[tickId][i].GetEnumerator();
             while (e.MoveNext())
             {
                 if (e.Current.Value.ContainsKey(inputType))
                 {
                     var data = CreateUesrInputData(tickId);
                     data.UserId = e.Current.Key;
                     data.Inputs = e.Current.Value[inputType].ToArray();
                     dataList[i].Add(data);
                 }
             }
         }
         if (dataList.Count > 0)
         {
             var result = new UserInputData[dataList.Count][];
             for (int i = 0; i < dataList.Count; i++)
             {
                 result[i] = new UserInputData[dataList[i].Count];
                 dataList[i].CopyTo(result[i]);
             }
             return(result);
         }
     }
     return(null);
 }
        private void frmDepartmentMasterDetail_Load(object sender, EventArgs e)
        {
            //if (_editInfo == null)
            //{
            //    _editInfo = this.BaseParam as testModel;
            //}

            if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Insert)
            {
                this.Text = "新增 - " + this.Text;

                UserInputData insertInfo = new UserInputData();

                proUserData.SelectedObject = insertInfo;
            }
            else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Update)
            {
                this.Text = "修改 - " + this.Text;

                UserInputData showData = new UserInputData(_CurrentDptInfo);

                proUserData.SelectedObject = showData;

            }
        }
Exemple #3
0
        private bool TryGetPossibleMethods(Player player, UserInputData userInputData, string[] usedParameters, CommandData commandData, [NotNullWhen(true)] out List <CommandMethodData>?possibleMethods)
        {
            if (commandData is null)
            {
                possibleMethods = null;
                if (_configuration.CommandDoesNotExistError is { } text)
                {
                    _configuration.MessageOutputHandler.Invoke(new CommandOutputData(player, text, userInputData));
                }
                return(false);
            }

            possibleMethods = _methodParser.GetPossibleMethods(userInputData.Command, usedParameters, commandData).ToList();
            if (!possibleMethods.Any())
            {
                var wrongUsageOutputted = _wrongUsageHandler.Handle(player, userInputData, commandData.Methods, possibleMethods);
                if (!wrongUsageOutputted)
                {
                    if (_configuration.CommandUsedIncorrectly is { } text)
                    {
                        _configuration.MessageOutputHandler.Invoke(new CommandOutputData(player, text, userInputData));
                    }
                    else if (_configuration.CommandDoesNotExistError is { } text2)
                    {
                        _configuration.MessageOutputHandler.Invoke(new CommandOutputData(player, text2, userInputData));
                    }
                }

                return(false);
            }
    private UserInputData ParseSingleTouchGesture(Touch endTouch)
    {
        float         SliceDistance = Vector2.Distance(endTouch.position, this.TouchStartPosition);
        UserInputData gestureInfo   = null;

        //Tap
        if (Mathf.Approximately(SliceDistance, 0))
        {
            gestureInfo = new UserInputData(UserInputType.Single_Tap, null, this.TouchStartTime, Time.time);
        }
        //Curve
        else if (CheckTick() == true)
        {
            float _timeDis = Time.time - this.TouchStartTime;
            gestureInfo = new UserInputData(UserInputType.Single_Curve, null,
                                            this.TouchStartTime, Time.time);
        }
        //Slice
        else
        {
            float   _timeDis       = Time.time - this.TouchStartTime;
            float   strength       = SliceDistance / _timeDis;
            Vector2 sliceDirection = (endTouch.position - TouchStartPosition).normalized;
            gestureInfo = new UserInputData(UserInputType.Single_Slice, sliceDirection,
                                            this.TouchStartTime, Time.time);
        }
        return(gestureInfo);
    }
        /// <summary>
        /// Starts program core logic, goes through all steps, one by one
        /// </summary>
        /// <param name="inputData">User input data to work with during logic</param>
        public void ProcessLogic(UserInputData inputData)
        {
            if (inputData == null)
            {
                throw new ArgumentNullException(nameof(inputData));
            }

            if (inputData.IsSendPacket &&
                !inputData.IsInterceptAndForward)
            {
                Packet packet = _fileHandler.TryOpenUserPacketFromFile(inputData.PathToFile);
                if (packet == null)
                {
                    throw new InvalidOperationException(nameof(packet) + " was null");
                }

                INewPacket customPacket = _packetManager.GetPacketByProtocol(packet.Ethernet.IpV4.Protocol).ExtractLayers(packet);
                if (inputData.IsModifyPacket)
                {
                    customPacket.ModifyLayers();
                }

                _packetManager.SendPacket(customPacket, inputData.PacketCountToSend, inputData.TimeToWaitUntilNextPacketWillBeSended);

                if (inputData.IsUserWantsToSavePacket)
                {
                    _fileHandler.TrySaveOnePacketToDisk(customPacket.BuildPacket(false));
                }
            }

            if (inputData.IsInterceptAndForward)
            {
                _packetManager.InterceptAndForwardPackets(inputData);
            }
        }
Exemple #6
0
        /// <summary>
        /// Verify that user arguments are ok
        /// </summary>
        /// <param name="userInputData">User arguments to check</param>
        /// <param name="options">User options with descriptions</param>
        private void CheckUserParsedArguments(UserInputData userInputData, OptionSet options)
        {
            if (!string.IsNullOrEmpty(userInputData.PacketFilterProtocol) &&
                !_supportedProtocols.Contains(userInputData.PacketFilterProtocol.ToLower()))
            {
                _textDisplayer.PrintText("Unsupported Protocol");
                _textDisplayer.PrintItemsInList(_supportedProtocols);
                _consoleWrapper.ExitConsole();
            }

            if (string.IsNullOrEmpty(userInputData.PathToFile) &&
                userInputData.IsSendPacket)
            {
                _textDisplayer.PrintTextAndExit("Path must be provided");
            }

            if (userInputData.IsHelpRequired)
            {
                _textDisplayer.ShowHelp(options);
                _consoleWrapper.ExitConsole();
            }

            if (userInputData.PacketCountToSend == 0)
            {
                _textDisplayer.PrintTextAndExit("Wrong count set for packet to be sent");
            }

            if (!string.IsNullOrEmpty(userInputData.PacketFilterProtocol) &&
                !userInputData.IsInterceptAndForward)
            {
                _textDisplayer.PrintTextAndExit("Packet filtering can be used only with interception mode");
            }
        }
Exemple #7
0
        public bool Handle(Player player, UserInputData userInputData, List <CommandMethodData> commandMethods, List <CommandMethodData> filteredMethods)
        {
            switch (_configuration.UsageOutputType)
            {
            case UsageOutputType.OneUsage:
                return(OutputOneUsage(player, userInputData, commandMethods));

            case UsageOutputType.AllUsages:
                if (commandMethods.Count <= 1)
                {
                    return(OutputOneUsage(player, userInputData, commandMethods));
                }
                else
                {
                    return(OutputMultipleUsages(player, userInputData, commandMethods));
                }

            case UsageOutputType.OneUsageOnWrongTypes:
                return(OutputOneUsage(player, userInputData, filteredMethods));

            case UsageOutputType.AllUsagesOnWrongTypes:
                if (filteredMethods.Count <= 1)
                {
                    return(OutputOneUsage(player, userInputData, filteredMethods));
                }
                else
                {
                    return(OutputMultipleUsages(player, userInputData, filteredMethods));
                }
            }
            return(false);
        }
Exemple #8
0
    private UserInputData[][][] GetUserInputDataByInputTypes(int tickId, Type[] inputTypes)
    {
        var dataList = new List <UserInputData[][]>();

        for (int i = 0; i < inputTypes.Length; i++)
        {
            var userInputData = LockstepUtility.GetAllUserInputData(tickId, inputTypes[i]);
            if (userInputData == null)
            {
                continue;
            }
            for (int j = 0; j < userInputData.Length; j++)
            {
                while (j >= dataList.Count)
                {
                    dataList.Add(new UserInputData[inputTypes.Length][]);
                }
                dataList[j][i] = userInputData[j];
            }
        }
        if (dataList.Count <= 0)
        {
            var data = new UserInputData[inputTypes.Length][];
            for (int i = 0; i < data.Length; i++)
            {
                data[i] = new UserInputData[1] {
                    LockstepUtility.CreateUesrInputData(tickId)
                };
            }
            dataList.Add(data);
        }
        return(dataList.ToArray());
    }
    /// <summary>
    /// In two finger case, one finger end means whole gesture ends.
    /// </summary>
    /// <param name="touch"></param>
    public override void onTouchEnd(Touch touch)
    {
        UserInputData gestInfo = ParseSingleTouchGesture(touch);

        attackController.NewUserGesture(gestInfo);
        base.onTouchEnd(touch);
        OneOffTouchHistory.Clear();
    }
    /// <summary>
    /// Call when touch.phase = End
    /// </summary>
    /// <param name="touch"></param>
    public override void onTouchEnd(Touch touch)
    {
        base.onTouchEnd (touch);

        UserInputData gestInfo = new UserInputData( Tap, null, this.TouchStartTime, Time.time);
        attackController.NewUserGesture(gestInfo);
        //		Debug.Log("Input was send to controller at frame:" + Time.frameCount);
        SendMessage("DontHint");
    }
    /// <summary>
    /// Call when touch.phase = End
    /// </summary>
    /// <param name="touch"></param>
    public override void onTouchEnd(Touch touch)
    {
        base.onTouchEnd(touch);

        UserInputData gestInfo = new UserInputData(Tap, null, this.TouchStartTime, Time.time);

        attackController.NewUserGesture(gestInfo);
//		Debug.Log("Input was send to controller at frame:" + Time.frameCount);
        SendMessage("DontHint");
    }
Exemple #12
0
 public ChoosePathPage(Program program, UserInputData userData) : base("Choose path", program)
 {
     _program = program;
     Menu.Add($"Default path ({userData.FilePath})", program.NavigateTo <ChooseFileSizePage>);
     Menu.Add($"Custom path", token =>
     {
         SetCustomPath(userData);
         return(program.NavigateTo <ChooseFileSizePage>(token));
     });
 }
Exemple #13
0
 /// <summary>
 /// Input name, realname comments etc. of all user field
 /// </summary>
 /// <param name="input">Test data</param>
 /// <returns></returns>
 public void FillInAddUser(UserInputData input)
 {
     CommonNameTextField.Fill(input.AccountID);
     RealNameTextField.Fill(input.RealName);
     TelephoneTextField.Fill(input.Telephone);
     EmailTextField.Fill(input.Email);
     CommentTextField.Fill(input.Comments);
     UserTitleComboxBox.SelectItem(input.Title);
     UserTypeComboBox.SelectItem(input.Type);
 }
Exemple #14
0
        private static async Task GenerateFileAsync(Program program, UserInputData userData, CancellationToken token)
        {
            await program.NavigateTo <ChoosePathPage>(token);

            Console.Clear();
            await GenerateFileAsync(userData.FilePath, userData.Size);

            PressAnyKeyDialog();
            await program.NavigateHome(token);
        }
        public void StartSync(UserInputData input)
        {
            // create source streams
            using var sourceStream = _streamFactory.CreateSourceFileStream(input.SourceFilePath);
            using var mmf          = MemoryMappedFile.CreateFromFile((FileStream)sourceStream, null, 0, MemoryMappedFileAccess.Read, HandleInheritability.Inheritable, false);

            var portionSizes = new long[_settings.Cores];

            portionSizes[0] = sourceStream.ReadInt64();
            for (var i = 1; i < portionSizes.Length; i++)
            {
                sourceStream.Seek(portionSizes[i - 1], SeekOrigin.Current);
                portionSizes[i] = sourceStream.ReadInt64();
            }

            var offsets = new long[_settings.Cores];

            offsets[0] = sizeof(long);
            for (var i = 1; i < offsets.Length; i++)
            {
                offsets[i] = offsets[i - 1] + portionSizes[i - 1] + sizeof(long);
            }

            var threads = new ThreadWrapper[_settings.Cores];

            for (var i = 0; i < threads.Length; i++)
            {
                threads[i] = new ThreadWrapper(DecompressPortion);
            }

            for (var i = 0; i < _settings.Cores; i++)
            {
                var offset = offsets[i];
                var size   = portionSizes[i];

                var view      = mmf.CreateViewStream(offset, size, MemoryMappedFileAccess.Read);
                var zipStream = new GZipStream(view, CompressionMode.Decompress);

                threads[i].Start(new Tuple <Stream, int>(zipStream, i));
            }

            using var targetStream = _streamFactory.CreateTargetFileStream(input.TargetFilePath);
            for (var i = 0; i < _settings.Cores; i++)
            {
                var thread = threads[i];
                while (!thread.IsCompleted)
                {
                }
                using (var fs = File.OpenRead($"temp_decompress_{i}"))
                {
                    fs.CopyTo(targetStream);
                }
                File.Delete($"temp_decompress_{i}");
            }
        }
Exemple #16
0
    // Raw Input Data --> Schemed User Input Data
    private UserInputData GetSchemedPcUserInputData(RawInputData rawInputData, User user)
    {
        InputSchemes.PCAxisScheme axisScheme = Array.Find(_inputSchemes.pCAxisSchemes, p => p.name == user.userData.settingsData.pcAxisInputScheme);
        if (axisScheme == null)
        {
            axisScheme = _inputSchemes.pCAxisSchemes[0];
        }

        InputSchemes.PCButtonScheme buttonScheme = Array.Find(_inputSchemes.pCButtonSchemes, p => p.name == user.userData.settingsData.pcButtonInputScheme);
        if (buttonScheme == null)
        {
            buttonScheme = _inputSchemes.pCButtonSchemes[0];
        }

        UserInputData userInputState = new UserInputData();

        InputSchemes.PCAxisScheme.AxisConversion moveAxisConversion = Array.Find(axisScheme.conversions, p => p.userAxis == UserAxis.Move);
        if (moveAxisConversion != null)
        {
            userInputState.move = rawInputData.GetPCAxis(moveAxisConversion.pCAxis);
        }

        InputSchemes.PCAxisScheme.AxisConversion lookAxisConversion = Array.Find(axisScheme.conversions, p => p.userAxis == UserAxis.Look);
        if (lookAxisConversion != null)
        {
            userInputState.look = rawInputData.GetPCAxis(lookAxisConversion.pCAxis);
        }

        InputSchemes.PCButtonScheme.ButtonConversion actionAButtonConversion = Array.Find(buttonScheme.conversions, p => p.userButton == UserButton.ActionA);
        if (actionAButtonConversion != null)
        {
            userInputState.actionA = rawInputData.GetPCButton(actionAButtonConversion.pCButton);
        }

        InputSchemes.PCButtonScheme.ButtonConversion actionBButtonConversion = Array.Find(buttonScheme.conversions, p => p.userButton == UserButton.ActionB);
        if (actionBButtonConversion != null)
        {
            userInputState.actionB = rawInputData.GetPCButton(actionBButtonConversion.pCButton);
        }


        InputSchemes.PCButtonScheme.ButtonConversion actionXButtonConversion = Array.Find(buttonScheme.conversions, p => p.userButton == UserButton.ActionX);
        if (actionXButtonConversion != null)
        {
            userInputState.actionX = rawInputData.GetPCButton(actionXButtonConversion.pCButton);
        }

        InputSchemes.PCButtonScheme.ButtonConversion menuButtonConversion = Array.Find(buttonScheme.conversions, p => p.userButton == UserButton.Menu);
        if (menuButtonConversion != null)
        {
            userInputState.menu = rawInputData.GetPCButton(menuButtonConversion.pCButton);
        }

        return(userInputState);
    }
Exemple #17
0
        private bool TryGetCommandData(Player player, UserInputData userInputData, [NotNullWhen(true)] out CommandData?commandData)
        {
            commandData = _commandsLoader.GetCommandData(userInputData.Command);

            if (commandData is null && _configuration.CommandDoesNotExistError is { } text)
            {
                _configuration.MessageOutputHandler.Invoke(new CommandOutputData(player, text, userInputData));
            }

            return(!(commandData is null));
        }
Exemple #18
0
 public static UserInputData CreateUesrInputData(int tickId)
 {
     if (HasTickId(tickId))
     {
         var data = new UserInputData();
         data.TickId    = tickId;
         data.DeltaTime = lockstepInputs[tickId].DeltaTime;
         data.Inputs    = new IInput[0];
         return(data);
     }
     return(null);
 }
Exemple #19
0
    public static UserInputData operator +(UserInputData x, UserInputData y)
    {
        UserInputData userInputState = new UserInputData();

        userInputState.look    = (x.look + y.look).normalized;
        userInputState.move    = (x.move + y.move).normalized;
        userInputState.actionA = x.actionA && y.actionA;
        userInputState.actionB = x.actionB && y.actionB;
        userInputState.menu    = x.menu && y.menu;

        return(userInputState);
    }
Exemple #20
0
        /// <summary>
        /// Checks user args
        /// </summary>
        /// <param name="args">User args</param>
        /// <returns>UserInputData class with user preferences/chosen options</returns>
        public UserInputData ParseUserConsoleArguments(string[] args)
        {
            PreprocessUserArguments(args);

            string    pathToFile         = null;
            string    protocolToFilterBy = null;
            int       packetCountToSend  = 1;
            int       timeToWaitUntilNextPacketToSend = 0;
            bool      isModifyPacket = false;
            bool      isUserWantsToSavePacketAfterModifying = false;
            bool      isSendPacket          = false;
            bool      isHelpRequired        = false;
            bool      isInterceptAndForward = false;
            OptionSet optionsSet            = new OptionSet()
            {
                { "p|path=", "--{PATH} to packet", p => pathToFile = p },
                { "c|count=", "--Packet {COUNT} to send", c => int.TryParse(c, out packetCountToSend) },
                { "m|modify", "--Modify packet", m => { isModifyPacket = (m != null); } },
                { "s|save", "--Save packet to .pcap file", s => { isUserWantsToSavePacketAfterModifying = (s != null); } },
                { "S|send", "--Send packet to web", S => { isSendPacket = (S != null); } },
                { "h|help", "--Show help", h => { isHelpRequired = (h != null); } },
                { "I|interforward", "--Intercept and forward packets through local machines internet interface", I => { isInterceptAndForward = (I != null); } },
                { "t|time=", "--Time to wait until next packet will be sended (in milliseconds)", t => int.TryParse(t, out timeToWaitUntilNextPacketToSend) },
                { "f|filter=", "--Is used with -I options, to filter packets by protocol", f => protocolToFilterBy = f },
            };

            try
            {
                optionsSet.Parse(args);
            }
            catch (OptionException ex)
            {
                _consoleWrapper.WriteToConsole(ex.Message);
                _consoleWrapper.ExitConsole();
            }

            UserInputData userInputData = new UserInputData()
            {
                PathToFile              = pathToFile,
                PacketCountToSend       = packetCountToSend,
                IsModifyPacket          = isModifyPacket,
                IsUserWantsToSavePacket = isUserWantsToSavePacketAfterModifying,
                IsSendPacket            = isSendPacket,
                IsHelpRequired          = isHelpRequired,
                TimeToWaitUntilNextPacketWillBeSended = timeToWaitUntilNextPacketToSend,
                IsInterceptAndForward = isInterceptAndForward,
                PacketFilterProtocol  = protocolToFilterBy,
            };

            CheckUserParsedArguments(userInputData, optionsSet);
            return(userInputData);
        }
Exemple #21
0
 /// <summary>
 /// Input name, realname comments etc. of all user field
 /// </summary>
 /// <param name="input">Test data</param>
 /// <returns></returns>
 public void FillInUser(UserInputData input)
 {
     NameTextField.Fill(input.AccountID);
     RealNameTextField.Fill(input.RealName);
     UserTypeComboBox.SelectItem(input.Type);
     UserAssociatedCustomerComboBox.SelectItem(input.AssociatedCustomer);
     CommonNameTextField.Fill(input.CommonName);
     RealNameTextField.Fill(input.RealName);
     TelephoneTextField.Fill(input.Telephone);
     EmailTextField.Fill(input.Email);
     TitleTextField.Fill(input.Title);
     CommentTextField.Fill(input.Comments);
 }
Exemple #22
0
    internal void TrySetInput(UserInputData userInputData)
    {
        if (!allowInput)
        {
            input      = new UserInputData();
            deltaInput = new UserInputData();
            return;
        }

        userInputData.look.y *= userData.settingsData.invertYLook ? -1 : 1;

        deltaInput = input == null ? new UserInputData() : input;
        input      = userInputData;
    }
        private void FShiftTargetYieldScheduleDetail_Load(object sender, EventArgs e)
        {
            _editInfo = this.BaseParam as ShiftTargetYieldSchedule_sty_Info;

            if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Insert)
            {
                this.TabText = "新增 - " + this.Text;

                UserInputData insertInfo = new UserInputData();

                insertInfo.sty_cAreaName = this._editInfo.sty_cAreaName;

                proUserData.SelectedObject = insertInfo;

                SysToolBar.BtnSave_IsEnabled = true;
                insertInfo.GetSources();

            }
            else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Update)
            {
                this.TabText = "编辑 - " + this.Text;

                UserInputData showData = new UserInputData(_editInfo);

                showData.sty_cAreaName = this._editInfo.sty_cAreaName;

                proUserData.SelectedObject = showData;

                SysToolBar.BtnSave_IsEnabled = true;

            }
            else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_ReaOnly)
            {
                this.TabText = "查看 - " + this.Text;

                UserInputData showData = new UserInputData(_editInfo);

                showData.sty_cAreaName = this._editInfo.sty_cAreaName;

                proUserData.SelectedObject = showData;

                SysToolBar.BtnSave_IsUsed = false;

            }

            //this.proUserData.SelectedGridItemChanged += new System.Windows.Forms.SelectedGridItemChangedEventHandler(this.proUserData_SelectedGridItemChanged);
        }
Exemple #24
0
 private void SetCustomPath(UserInputData userData)
 {
     while (true)
     {
         var path = Input.ReadString("Set file path:");
         var file = FileSystemHelper.CreateFile(path.Trim('"').Trim());
         if (file != null)
         {
             userData.FilePath = file.FullName;
             break;
         }
         else
         {
             Console.WriteLine("Path not valid or directory not exist");
         }
     }
 }
        //Update is called once per frame
        public void UpdateCameraManager(UserInputData userInput)
        {
            //Input for Camera
            if (userInput.mouseScroll != 0 || userInput.mouseHorizontal != 0 || userInput.mouseVertical != 0)
            {
                cameraDelta.delta_pitch       = userInput.mouseVertical;
                cameraDelta.delta_yaw         = userInput.mouseHorizontal;
                cameraDelta.delta_dstToTarget = userInput.mouseScroll;

                SetCameraDelta(cameraDelta);

                userInput.mouseVertical   = 0;
                userInput.mouseHorizontal = 0;
            }

            currentCamera.UpdateCamera();
        }
Exemple #26
0
    // Raw Input --> User?
    // True: Raw Input Data --> Schemed User Input Data --> User
    // False : Login, break
    internal void ResolveUserInput(RawInputData rawInputData)
    {
        //User pCUSer = TryGetUserByInput(0, InputType.PC, rawInputData.pC.hasButtonDown);
        //if (pCUSer != null)
        //{
        //    //UserInputData userInputState = GetSchemedPcUserInputData(rawInputData, pCUSer);
        //   // pCUSer.TrySetInput(userInputState);
        //}

        User touchUser = TryGetUserByInput(0, InputType.Touch, rawInputData.touch.hasButtonDown);

        if (touchUser != null)
        {
            UserInputData userInputState = GetSchemedTouchUserInputState(rawInputData, touchUser);
            touchUser.TrySetInput(userInputState);
        }

        foreach (RawInputData.NSwitch.Controller controller in rawInputData.nSwitch.controllers)
        {
            User nSwitchUser = TryGetUserByInput(controller.id, InputType.NSwitch, controller.hasButtonDown);
            if (nSwitchUser != null)
            {
                UserInputData userInputState = GetSchemedNSwitchUserInputState(rawInputData, nSwitchUser);
                nSwitchUser.TrySetInput(userInputState);
            }
        }
        foreach (RawInputData.XboxOne.Controller controller in rawInputData.xboxOne.controllers)
        {
            User xboxOneUser = TryGetUserByInput(controller.id, InputType.XboxOne, controller.hasButtonDown);
            if (xboxOneUser != null)
            {
                UserInputData userInputState = GetSchemedXboxOneUserInputState(rawInputData, xboxOneUser);
                xboxOneUser.TrySetInput(userInputState);
            }
        }
        foreach (RawInputData.Playstation4.Controller controller in rawInputData.playstation4.controllers)
        {
            User playstation4User = TryGetUserByInput(controller.id, InputType.Playstation4, controller.hasButtonDown);
            if (playstation4User != null)
            {
                UserInputData userInputState = GetSchemedPlaystation4UserInputState(rawInputData, playstation4User);
                playstation4User.TrySetInput(userInputState);
            }
        }
    }
Exemple #27
0
        private bool OutputOneUsage(Player player, UserInputData userInputData, List <CommandMethodData> commandMethods)
        {
            var methodData = commandMethods.FirstOrDefault();

            if (methodData is null)
            {
                return(false);
            }

            var strBuilder = new StringBuilder(_configuration.SingleUsageOutputPrefix);

            AddUsageText(strBuilder, userInputData.Command, methodData);

            var messageOutputData = new CommandOutputData(player, strBuilder.ToString(), userInputData);

            _configuration.MessageOutputHandler.Invoke(messageOutputData);
            return(true);
        }
Exemple #28
0
        private bool OutputMultipleUsages(Player player, UserInputData userInputData, List <CommandMethodData> commandMethods)
        {
            var strBuilder = new StringBuilder();

            strBuilder.Append(_configuration.MultipleUsagesOutputPrefix);

            foreach (var methodData in commandMethods)
            {
                strBuilder.AppendLine();
                AddUsageText(strBuilder, userInputData.Command, methodData);
            }


            var messageOutputData = new CommandOutputData(player, strBuilder.ToString(), userInputData);

            _configuration.MessageOutputHandler.Invoke(messageOutputData);
            return(true);
        }
Exemple #29
0
        public async void ExecuteCommand(Player player, string message)
        {
            message = _cleaner.Clean(message);
            var(command, remainingMessage) = _commandParser.Parse(message);
            var usedParameters = _argumentsParser.ParseUserArguments(remainingMessage);
            var userInputData  = new UserInputData(command, message, usedParameters);

            if (!TryGetCommandData(player, userInputData, out var commandData))
            {
                return;
            }
            if (!TryGetPossibleMethods(player, userInputData, usedParameters, commandData, out var possibleMethods))
            {
                return;
            }

            await _methodExecuter.TryExecuteSuitable(player, userInputData, commandData, possibleMethods);
        }
Exemple #30
0
        private static async Task SortFileAsync(Program program, UserInputData userData, CancellationToken token)
        {
            await program.NavigateTo <ChooseSortFilePage>(token);

            var path = userData.FilePath;

            if (CanStartSorting(path))
            {
                await SortFileAsync(path);
            }
            else
            {
                Console.WriteLine($"File not exist {path}");
                Console.WriteLine("Generate file before start sorting");
            }

            PressAnyKeyDialog();
            await program.NavigateHome(token);
        }
        private void RefreshFormByMemberValue()
        {
            // 選択中のカードが無ければ処理しない
            if (_selectedCardInfo == null)
            {
                return;
            }

            // 選択中のカードの情報を得る
            Util.GetCardInfos(out var cardInfos, Util.JapaneseCode);
            CardInfo targetCardInfo = cardInfos.FirstOrDefault(s => s.cardCode == _selectedCardInfo.cardCode);

            if (targetCardInfo == null)
            {
                // TODO: エラーログ出すなど
                return;
            }

            // 選択中のカードのユーザー入力情報を得る
            UserInputData targetUserInputData =
                _userInputDatas.FirstOrDefault(s => s.cardCode == _selectedCardInfo.cardCode);

            // 存在しなければ追加する
            if (targetUserInputData == null)
            {
                targetUserInputData = new UserInputData()
                {
                    cardCode   = _selectedCardInfo.cardCode,
                    comment    = "",
                    draftPoint = 50,
                    imageUrl   = "",
                    webpageUrl = ""
                };
                _userInputDatas.Add(targetUserInputData);
            }

            // メンバ変数の値をフォームに反映する
            CardCodeTextBox.Text          = targetCardInfo.cardCode;
            CardNameTextBox.Text          = targetCardInfo.name;
            DraftPointNumericUpDown.Value = targetUserInputData.draftPoint;
            ImageUrlTextBox.Text          = targetUserInputData.imageUrl;
            CommentTextBox.Text           = targetUserInputData.comment;
        }
Exemple #32
0
    /// <summary>
    /// Call by GestureHandler.
    /// 1. New HUD Hint
    /// 2. Search combo combat by playerComboToken
    /// 3. Determine the playerCombo can go ahead , or terminated(unmatched)
    /// Put a new user gesture into queue - UnprocessGestureList
    /// </summary>
    /// <param name="gestureInfo"></param>
    public void NewUserGesture(UserInputData gestureInfo)
    {
        if (!BlockUserGestureInput)
        {
            //Accumulate player combo token string
            playerComboToken += ((int)gestureInfo.Type).ToString();
            UserInputType[] nextCombat = PredictNextMatchedCombo(playerComboToken);
            SendMessage("ShowButtonHints", nextCombat);
//			Debug.Log("Current playerComboToken:" + playerComboToken);

            //Check if player combo token has a matched prefab
            bool playerTokenMatched = false, isLastCombat = false;
            PredatorCombatData combat = GetComboCombatByToken(playerComboToken, gestureInfo.Type, out playerTokenMatched, out isLastCombat);
            if (combat == null)
            {
                return;
            }
            //If player combo token not matched, set BlockUserGestureInput = true to block all player input,
            //until the combat processing finish, then BlockUserGestureInput will be set true again.
            //reset playerComboToken
            if (playerTokenMatched == false)
            {
                combat.FinalCombat    = true;
                BlockUserGestureInput = true;
                playerComboToken      = "";
            }
            else if (isLastCombat && playerTokenMatched)
            {
                combat.FinalCombat = true;
                playerComboToken   = "";
            }
            //record the last receiving player gesture input time
            LastProcessPlayerGestureInputTime = Time.time;
            // UnprocessGestureList.Add(gestureInfo);
            UnprocessCombatList.Add(combat);
        }
        else
        {
            Debug.Log("Input was dropped at frame:" + Time.frameCount);
        }
    }
        private void SignalLightsStatusDetail_Load(object sender, EventArgs e)
        {
            _editInfo = this.BaseParam as SignalLightsStatus_sls_Info;

            if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Insert)
            {
                this.TabText = "新增 - " + this.Text;

                UserInputData insertInfo = new UserInputData();

                proUserData.SelectedObject = insertInfo;
            }
            else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Update)
            {
                this.TabText = "查看 - " + this.Text;

                UserInputData showData = new UserInputData(_editInfo);

                proUserData.SelectedObject = showData;

            }
        }
        private void FPauseShiftReasonProfileDetail_Load(object sender, EventArgs e)
        {
            if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Insert)
            {
                this.TabText = "新增 - " + this.Text;

                UserInputData insertInfo = new UserInputData();

                insertInfo.psr_RecordID = System.Guid.NewGuid();

                proUserData.SelectedObject = insertInfo;
            }
            else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Update )
            {
                this.TabText = "编辑 - " + this.Text;

                PauseShiftReasonMaster_psr_Info editInfo = this.BaseParam as PauseShiftReasonMaster_psr_Info;

                UserInputData showData = new UserInputData(editInfo);

                proUserData.SelectedObject = showData;

                SysToolBar.BtnSave_IsEnabled = true;
            }
             else if ( this.EditState == Common.DefineConstantValue.EditStateEnum.OE_ReaOnly )
            {
                this.TabText = "查看 - " + this.Text;

                PauseShiftReasonMaster_psr_Info editInfo = this.BaseParam as PauseShiftReasonMaster_psr_Info;

                UserInputData showData = new UserInputData(editInfo);

                proUserData.SelectedObject = showData;

                SysToolBar.BtnSave_IsUsed = false;
            }
            //this.proUserData.SelectedGridItemChanged += new System.Windows.Forms.SelectedGridItemChangedEventHandler(this.proUserData_SelectedGridItemChanged);
        }
        private DepartmentMaster_dpm_Info GetDataInfo(UserInputData info)
        {
            DepartmentMaster_dpm_Info dpmInfo = new DepartmentMaster_dpm_Info();
            dpmInfo.dpm_cName = info.dpm_cName;
            dpmInfo.dpm_cRemark = info.dpm_cRemark;
            dpmInfo.dpm_lEnable = true;
            dpmInfo.dpm_cLast = UserInformation.usm_cUserLoginID;
            dpmInfo.dpm_dLastDate = System.DateTime.Now;
            if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Insert)
            {
                dpmInfo.dpm_cAdd = this.UserInformation.usm_cUserLoginID;
                dpmInfo.dpm_dAddDate = System.DateTime.Now;

            }
            else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Update)
            {
                dpmInfo.dpm_RecordID = new Guid(info.dpm_RecordID);
                dpmInfo.dpm_cAdd = info.dpm_cAdd;
                dpmInfo.dpm_dAddDate = DateTime.Parse(info.dpm_dAddDate);
            }

            return dpmInfo;
        }
        private void RefreshMemberValueByForm()
        {
            // 選択中のカードが無ければ処理しない
            if (_selectedCardInfo == null)
            {
                return;
            }

            // 選択中のカードのユーザー入力情報を参照する
            UserInputData targetUserInputData =
                _userInputDatas.FirstOrDefault(s => s.cardCode == _selectedCardInfo.cardCode);

            if (targetUserInputData == null)
            {
                // TODO: エラーログなど
                return;
            }

            // フォームの値をメンバ変数に反映する
            targetUserInputData.draftPoint = (int)DraftPointNumericUpDown.Value;
            targetUserInputData.imageUrl   = ImageUrlTextBox.Text;
            targetUserInputData.comment    = CommentTextBox.Text;
        }
        private void FIdleStateProfileDetail_Load(object sender, EventArgs e)
        {
            if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Insert)
            {
                this.TabText = "新增 - " + this.Text;

                UserInputData insertInfo = new UserInputData();

                proUserData.SelectedObject = insertInfo;

                this.SysToolBar.BtnSave_IsEnabled = true;
            }
            else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Update)
            {
                this.TabText = "编辑 - " + this.Text;

                IdleStateMaster_ism_Info editInfo = this.BaseParam as IdleStateMaster_ism_Info;

                UserInputData showData = new UserInputData(editInfo);

                proUserData.SelectedObject = showData;
                proUserData.Font = ControlSetting.ListFont;
                this.SysToolBar.BtnSave_IsEnabled = true;
            }
            else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_ReaOnly)
            {
                this.TabText = "查看 - " + this.Text;

                IdleStateMaster_ism_Info editInfo = this.BaseParam as IdleStateMaster_ism_Info;

                UserInputData showData = new UserInputData(editInfo);

                proUserData.SelectedObject = showData;
                proUserData.Font = ControlSetting.ListFont;
                this.SysToolBar.BtnSave_IsUsed = false;
            }
        }
        private void frmGradeMasterDetail_Load(object sender, EventArgs e)
        {
            if (_editInfo == null)
            {
                _editInfo = this.BaseParam as GradeMaster_gdm_Info;
            }

            if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Insert)
            {
                this.Text = "新增 - " + this.Text;

                UserInputData insertInfo = new UserInputData();

                proUserData.SelectedObject = insertInfo;
            }
            else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Update)
            {
                this.Text = "查看 - " + this.Text;

                UserInputData showData = new UserInputData(_editInfo);

                proUserData.SelectedObject = showData;
            }
        }
        private void frmStudentMasterDetail_Load(object sender, EventArgs e)
        {
            if (!this._isBatchmodify)
            {
                if (_editInfo == null)
                {
                    _editInfo = this.BaseParam as CardUserMaster_cus_Info;
                }

                if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Insert)
                {
                    this.Text = "新增 - " + this.Text;

                    UserInputData insertInfo = new UserInputData();
                    insertInfo.cus_cGraduationPeriod = DateTime.Now.Year.ToString();
                    insertInfo.cus_cComeYear = DateTime.Now.Year.ToString();
                    insertInfo.cus_lValid = "是";
                    proUserData.SelectedObject = insertInfo;
                }
                else if (this.EditState == Common.DefineConstantValue.EditStateEnum.OE_Update)
                {
                    this.Text = "查看 - " + this.Text;
                    btnAutoNum.Enabled = false;

                    UserInputData showData = new UserInputData(_editInfo);

                    proUserData.SelectedObject = showData;

                }
            }
            else
            {
                BatchUserInfo userInfo = new BatchUserInfo();

                proUserData.SelectedObject = userInfo;
            }
        }
    /// <summary>
    /// Call by GestureHandler.
    /// 1. New HUD Hint
    /// 2. Search combo combat by playerComboToken
    /// 3. Determine the playerCombo can go ahead , or terminated(unmatched)
    /// Put a new user gesture into queue - UnprocessGestureList
    /// </summary>
    /// <param name="gestureInfo"></param>
    public void NewUserGesture(UserInputData gestureInfo)
    {
        if (!BlockUserGestureInput) {

            //Accumulate player combo token string
            playerComboToken += ((int)gestureInfo.Type).ToString ();
            UserInputType[] nextCombat = PredictNextMatchedCombo(playerComboToken);
            SendMessage("ShowButtonHints", nextCombat);
        //			Debug.Log("Current playerComboToken:" + playerComboToken);

            //Check if player combo token has a matched prefab
            bool playerTokenMatched = false, isLastCombat = false;
            PredatorCombatData combat = GetComboCombatByToken (playerComboToken, gestureInfo.Type, out playerTokenMatched, out isLastCombat);
            if(combat == null)
            {
                return;
            }
            //If player combo token not matched, set BlockUserGestureInput = true to block all player input,
            //until the combat processing finish, then BlockUserGestureInput will be set true again.
            //reset playerComboToken
            if (playerTokenMatched == false) {
                combat.FinalCombat = true;
                BlockUserGestureInput = true;
                playerComboToken = "";
            } else if (isLastCombat && playerTokenMatched) {
                combat.FinalCombat = true;
                playerComboToken = "";
            }
            //record the last receiving player gesture input time
            LastProcessPlayerGestureInputTime = Time.time;
            // UnprocessGestureList.Add(gestureInfo);
            UnprocessCombatList.Add (combat);
        }
        else
        {
            Debug.Log("Input was dropped at frame:" + Time.frameCount);
        }
    }
 private UserInputData ParseSingleTouchGesture(Touch endTouch)
 {
     float SliceDistance = Vector2.Distance(endTouch.position, this.TouchStartPosition);
     UserInputData gestureInfo = null;
     //Tap
     if (Mathf.Approximately(SliceDistance, 0))
     {
         gestureInfo = new UserInputData(UserInputType.Single_Tap, null, this.TouchStartTime, Time.time);
     }
     //Curve
     else if(CheckTick() == true)
     {
         float _timeDis = Time.time - this.TouchStartTime;
         gestureInfo = new UserInputData(UserInputType.Single_Curve, null,
                                             this.TouchStartTime, Time.time);
     }
     //Slice
     else
     {
         float _timeDis = Time.time - this.TouchStartTime;
         float strength = SliceDistance / _timeDis;
         Vector2 sliceDirection = (endTouch.position - TouchStartPosition).normalized;
         gestureInfo = new UserInputData(UserInputType.Single_Slice, sliceDirection,
                                             this.TouchStartTime, Time.time);
     }
     return gestureInfo;
 }