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)); }
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)); }
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); } }
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++; } } }
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); } }
private void OnRemoteStringChange(SyncString syncString) { string[] token = syncString.Value.Split(new char[] { ' ' }, 2); _remoteChangeEvents[token[0]].Invoke(syncString, token[1]); }