示例#1
0
        /// <summary>
        /// Returns true if mainController speech should be suspended
        /// </summary>
        /// <param name="c"></param>
        /// <returns></returns>
        public bool ProcessInput(char c)
        {
            bool retValue = false;

            if (controllerState == DemandState.Presented)
            {
                if (demandedChars != null && demandedChars.Count >= demandedCharIndex)
                {
                    var dchar = demandedChars[demandedCharIndex];
                    if (dchar.DemandedChar == c)
                    {
                        dchar.DemandSuccessful = true;
                        demandedCharIndex++;
                        if (demandedCharIndex >= demandedChars.Count)
                        {
                            processDemandFinalSuccess(c);
                            retValue = true;
                        }
                    }
                    else
                    {
                        dchar.DemandFailures++;
                        totalDemandFailures++;
                        if (dchar.DemandFailures % 5 == 4)
                        {
                            mainController.SpeakString("Press " + dchar.DemandedChar);
                            retValue = true;
                        }
                    }
                }
            }
            return(retValue);
        }