void Update() { if (Input.GetKeyDown(KeyCode.O)) { OpenJsonSigns(); } if (_signsFileLoaded) { foreach (UnitySign _s in _signs) { _s.Calc(); } _sortedSigns = _signs.OrderBy(s => 1f - s._dist).ToArray(); if (_lastRecoSign != _sortedSigns[0]) { StartRecognize(_sortedSigns[0]); _lastRecoSign = _sortedSigns[0]; _lastRecoSign._lastRecognizetTime = Time.time; } else { StayRecognized(_sortedSigns[0]); } if (_currentEvent != null) { _currentEvent.UPD(); } } }
public void AddCurrentSignToLibrary(string name) { JsonSign s = new JsonSign(); UnitySign newSign = new UnitySign(s); newSign._recognizer = this; newSign.Name = name; newSign._sign._goal0 = _hand.fingers[0].rootNodeAngle_01; newSign._sign._goal1 = _hand.fingers[1].rootNodeAngle_01; newSign._sign._goal2 = _hand.fingers[2].rootNodeAngle_01; newSign._sign._goal3 = _hand.fingers[3].rootNodeAngle_01; newSign._sign._goal4 = _hand.fingers[4].rootNodeAngle_01; _signs.Add(newSign); }
void EndRecognize(UnitySign _s) { if (SignEnd != null) { SignEnd.Invoke(_s); } if (_currentEvent == null) { foreach (PULSO_Event _e in _listenEvents) { _e.SignStop(_s); } } else { _currentEvent.SignStop(_s); } }
void StayRecognized(UnitySign _s) { if (SignStay != null) { SignStay.Invoke(_s); } if (_currentEvent == null) { foreach (PULSO_Event _e in _listenEvents) { _e.SignStay(_s); } } else { _currentEvent.SignStay(_s); } }
public void OpenJsonSigns() { string _fileName = ""; switch (_signsLibrary) { case SignsLibrary.ABC: _fileName = "WaveSignsABC"; break; case SignsLibrary.Playground: _fileName = "WaveSignsPlayground"; break; default: break; } Debug.Log(_filesPath + "/PULSO/" + _fileName + ".json"); if (File.Exists(_filesPath + "/PULSO/" + _fileName + ".json")) { string _t = File.ReadAllText(_filesPath + "/PULSO/" + _fileName + ".json"); SignsFile _file = JsonUtility.FromJson <SignsFile>(_t); _signs.Clear(); foreach (JsonSign s in _file._waveSignsList) { UnitySign newS = new UnitySign(); newS._sign = s; newS._recognizer = this; newS.name = newS._sign._name; _signs.Add(newS); } _signsFileLoaded = true; } }
public virtual void SignStop(UnitySign _s) { }
public virtual void SignStart(UnitySign _s) { }