public void add(AudioSource source) { var time = (Time.time - startTime) % level.loopTime; var loopElement = new LoopElement(source.clip, time); play(loopElement); level.loopElements.Add(loopElement); var toneControl = Instantiate(toneControlPrefab, line.parent); toneControls.Add(toneControl); var button = toneControl.GetComponentInChildren <Button>(); if (targetLevel && targetLevel.matches(loopElement)) { button.image.color = Color.green; } toneControl.transform.localRotation = Quaternion.AngleAxis(360 / level.loopTime * time, Vector3.back); button.onClick.AddListener(() => { level.loopElements.Remove(loopElement); toneControls.Remove(toneControl); Destroy(toneControl); }); }
public static LoopElement Loop(this MessageElement me, string label, string from, string to, string step = "1") { var loop = new LoopElement { Label = label, From = from, To = to, Step = step }; me?.Fields.Add(loop); return(loop); }
public bool matches(LoopElement loopElement) { for (int i = 0; i < loopElements.Count; i++) { if (loopElements[i].matches(loopElement, loopTime)) { return(true); } } return(false); }
private void play(LoopElement le) { var audioSource = sources[sourcesIndex++ % sources.Length]; audioSource.clip = le.audio; audioSource.Play(); if (pulsePrefab) { var instantiate = Instantiate(pulsePrefab, animationContainer); StartCoroutine(deletePulse(instantiate)); } }
public bool matches(LoopElement loopElement, float loopTime) { if (audio != loopElement.audio) { return(false); } var abs = Mathf.Abs(loopElement.time - time); var tolerance = 0.15f; if (abs > loopTime - tolerance) { abs -= loopTime; } return(abs < tolerance); }
public override void VisitLoopElement(LoopElement element) { Console.WriteLine("loop element: {0}",element.getText()); }
public override void VisitLoopElement(LoopElement element) { resultMessage += "parsing loop element"+"\n"; loop = element.getText(); int inc=0; int mode = 0; CharEnumerator ce = loop.GetEnumerator(); string remloop="0"; ce.MoveNext(); while( inc < loop.Length) { //Console.WriteLine("Writing loop value {0}", ce.Current); if (ce.Current.CompareTo('(') == 0 && mode != -1) mode = 1; if (ce.Current.CompareTo(' ') == 0) { remloop = loop.Substring(inc); break; } if (mode == 1 && ce.Current.CompareTo('(')!=0) { loopvar = string.Concat(loopvar, ce.Current.ToString()); } ce.MoveNext(); inc++; } inc = 0; mode = 0; Console.WriteLine(" variable met in loop element:{0}",loopvar); resultMessage += String.Format(" variable met in loop element:{0}", loopvar)+"\n"; Console.WriteLine(" substring left to parse:{0}", remloop); resultMessage += string.Format(" substring left to parse:{0}", remloop)+"\n"; ce = remloop.GetEnumerator(); ce.MoveNext(); ce.MoveNext(); string startvar=""; string endvar=""; while (inc < remloop.Length) { if (ce.Current.CompareTo('.') > 0 && mode == 0) { startvar += ce.Current.ToString(); } else if(ce.Current.CompareTo('.')==0) { mode = 1; } else if (ce.Current.CompareTo(')') == 0) { break; } if (mode == 1 && ce.Current.CompareTo('.')!=0) { endvar += ce.Current.ToString(); } ce.MoveNext(); inc++; } Console.WriteLine("starting var of the loop is: {0}\n ending var of the loop is:{1}", startvar,endvar); resultMessage += string.Format("starting var of the loop is: {0}\n ending var of the loop is:{1}", startvar, endvar)+"\n"; startloopvar = int.Parse(startvar); endloopvar = int.Parse(endvar); }
public abstract void VisitLoopElement(LoopElement element);
public void setLhs(LoopElement lhs) { mLhs = lhs; }