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;
        }
    }
Beispiel #6
0
 public virtual void SignStop(UnitySign _s)
 {
 }
Beispiel #7
0
 public virtual void SignStart(UnitySign _s)
 {
 }