void Update()
    {
        // Synchronous access:
        //

        // Try to get latest swipe info
        Leap.Util.SystemWipeInfo info = Leap.Util.SystemWipeRecognizerNative.GetNextSystemWipeInfo();

        // If one exists...
        if (info.Status != Leap.Util.Status.InfoQueueEmpty)
        {
            // then save the lastest one ast m_latestWipeInfo
            while (info.Status != Leap.Util.Status.InfoQueueEmpty)
            {
                m_latestWipeInfo = info;
                //Debug.Log("Swipe " + info.Status + " " + info.Direction + " " + info.Progress);
                info = Leap.Util.SystemWipeRecognizerNative.GetNextSystemWipeInfo();
            }

            // Execute handler for one lastest info.
            EventHandler <SystemWipeArgs> handler = SystemWipeUpdate;
            if (handler != null)
            {
                handler(this, new SystemWipeArgs(m_latestWipeInfo));
            }
        }
    }
 void SystemWipeInfoCallback(Leap.Util.SystemWipeInfo info)
 {
     //Debug.Log("Swipe " + info.Status + " " + info.Direction + " " + info.Progress);
     lock (wipeInfoLock) {
         m_wipeInfoDirty  = true;
         m_latestWipeInfo = info;
     }
 }
 public SystemWipeArgs(SystemWipeInfo wipeInfo)
 {
     m_wipeInfo = wipeInfo;
 }