コード例 #1
0
        private void OnRemoteGestureCommandChange(SyncString syncString, string value)
        {
            Debug.Log(gameObject.name + ": Remote GESTURE_COMMAND received!");
            string[] token = value.Split(' ');

            Command command = GetRemoteCommand(token);
            GestureInteractionEventArgs eventArgs = GetRemoteGestureEventArgs(token);

            StartCoroutine(StateManager.Instance.IssueCommand(eventArgs, command));
        }
コード例 #2
0
        private void OnRemoteVoiceCommandChange(SyncString syncString, string value)
        {
            Debug.Log(gameObject.name + ": Remote VOICE_COMMAND received!");
            string[] payloadSplit = value.Split(new string[] { "//DataPayload//" }, StringSplitOptions.None);
            string[] token        = payloadSplit[0].Split(' ');

            Command command = GetRemoteCommand(token);
            SpeechInteractionEventArgs eventArgs = GetRemoteSpeechEventArgs(token);

            eventArgs.Data = payloadSplit[1];

            StartCoroutine(StateManager.Instance.IssueCommand(eventArgs, command));
        }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: bmhoang/klrc
        private void SplitLyric()
        {
            seriesString.Clear();
            int    begin  = 0;
            int    state  = 0; //0: in invalid, 1: in readable
            string mytext = lyricText.Text;
            int    i;

            for (i = 0; i < mytext.Length; i++)
            {
                switch (state)
                {
                case 0:
                    if (!isNotNiceChar(mytext[i]))
                    {
                        if (i > begin)
                        {
                            //add new word to seriesString
                            SyncString tmp = new SyncString();
                            tmp.ministring = mytext.Substring(begin, i - begin);
                            begin          = i;
                            seriesString.Add(tmp);
                            state = 1;
                        }
                        state = 1;
                    }
                    break;

                case 1:
                    if (isNotNiceChar(mytext[i]))
                    {
                        state = 0;
                    }
                    break;

                default:
                    break;
                }
            }
            if (i > begin)
            {
                //add last word to seriesString
                SyncString tmp = new SyncString();
                tmp.ministring = mytext.Substring(begin, i - begin);
                seriesString.Add(tmp);
            }
        }
コード例 #4
0
ファイル: MainWindow.xaml.cs プロジェクト: bmhoang/klrc
 private void OnKeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.F2)
     {
         if (makingKaraoke && currentIndex < seriesString.Count)
         {
             SyncString tmp = seriesString[currentIndex];
             tmp.position = NAudioEngine.Instance.ChannelPosition;
             TimeSpan timetmp     = TimeSpan.FromSeconds(tmp.position);
             int      beginselect = lyricLRC.Text.Length;
             string   newstr      = string.Format("[{0}]{1}", timetmp.ToString(@"hh\:mm\:ss\.fff"), tmp.ministring);
             lyricLRC.Text += newstr;
             lyricLRC.Focus();
             lyricLRC.Select(beginselect, newstr.Length);
             currentIndex++;
         }
     }
 }
コード例 #5
0
        private void OnRemoteDefocusedChange(SyncString syncString, string value)
        {
            Debug.Log(gameObject.name + ": Remote DEFOCUSED change received!");

            GameObject target       = GameObject.Find(value);
            var        interactable = target.GetComponent <Interactable>();

            Context context = ContextManager.Instance.SafeContext;

            if (context.Focused == interactable)
            {
                return;
            }

            if (interactable.Highlight != null)
            {
                interactable.Highlight.gameObject.SetActive(false);
            }
        }
コード例 #6
0
 private void OnRemoteStringChange(SyncString syncString)
 {
     string[] token = syncString.Value.Split(new char[] { ' ' }, 2);
     _remoteChangeEvents[token[0]].Invoke(syncString, token[1]);
 }
コード例 #7
0
ファイル: MainWindow.xaml.cs プロジェクト: DiodeZ/klrc
 private void SplitLyric()
 {
     seriesString.Clear();
     int begin = 0;
     int state = 0; //0: in invalid, 1: in readable
     string mytext = lyricText.Text;
     int i;
     for (i = 0; i < mytext.Length; i++)
     {
         switch (state)
         {
             case 0:
                 if (!isNotNiceChar(mytext[i]))
                 {
                     if (i > begin)
                     {
                         //add new word to seriesString
                         SyncString tmp = new SyncString();
                         tmp.ministring = mytext.Substring(begin, i - begin);
                         begin = i;
                         seriesString.Add(tmp);
                         state = 1;
                     }
                     state = 1;
                 }
                 break;
             case 1:
                 if (isNotNiceChar(mytext[i]))
                 {
                     state = 0;
                 }
                 break;
             default:
                 break;
         }
     }
     if (i > begin)
     {
         //add last word to seriesString
         SyncString tmp = new SyncString();
         tmp.ministring = mytext.Substring(begin, i - begin);
         seriesString.Add(tmp);
     }
 }