예제 #1
0
        /// <summary>
        /// 추적하고 있는 단어에서 Backspace 입력을 처리합니다.
        /// </summary>
        /// <param name="args">없음</param>
        private static void BackspaceWord(object[] args)
        {
            if (!MainForm.ENABLE_SENTIMENT_ANALYZER)
            {
                return;
            }
#pragma warning disable CS0162 // 접근할 수 없는 코드가 있습니다.
            if (wordState.Length > 0)
            {
                if (IsIMESetToEnglish())
                {
                    wordState = wordState.Substring(0, wordState.Length - 1);
                }
                else
                {
                    if (backspaceState is null)
                    {
                        backspaceState = Hangul.Assemble(wordState);
                        backspaceState = backspaceState.Substring(0, backspaceState.Length - 1) +
                                         Hangul.Disassemble(backspaceState.Substring(backspaceState.Length - 1, 1));
                    }
                    if (backspaceState.Length > 0)
                    {
                        backspaceState = backspaceState.Substring(0, backspaceState.Length - 1);
                        wordState      = backspaceState;
                    }
                }
            }
#pragma warning restore CS0162 // 접근할 수 없는 코드가 있습니다.
        }
예제 #2
0
        /// <summary>
        /// 현재까지 추적한 단어를 감정 분석기에 넘기고 초기화합니다.
        /// </summary>
        /// <param name="args">없음</param>
        private static void ResetWord(object[] args)
        {
            if (!MainForm.ENABLE_SENTIMENT_ANALYZER)
            {
                return;
            }
#pragma warning disable CS0162 // 접근할 수 없는 코드가 있습니다.
            if (wordState.Length > 0)
            {
                if (IsIMESetToEnglish())
                {
                    Console.WriteLine("wordState: " + wordState);
                    EnglishSentimentAnalyzer.instance.Analyze(wordState);
                    EnglishSentimentAnalyzer.instance.GetSentimentAndFlush().Print();
                    // TODO 음악 생성기에 넘기기
                }
                else
                {
                    Console.WriteLine("wordState: " + Hangul.Assemble(wordState));
                    KoreanSentimentAnalyzer.instance.Analyze(Hangul.Assemble(wordState));
                    KoreanSentimentAnalyzer.instance.GetSentimentAndFlush().Print();
                    // TODO 음악 생성기에 넘기기
                }
            }
            wordState = "";
#pragma warning restore CS0162 // 접근할 수 없는 코드가 있습니다.
        }