aŮ5.0.0f4ţ˙˙˙s˙8-l'€Łć„hŒÎA,Œ€7€˙˙˙˙€Ś€˛€Ő€ ހ.€†€Ä€ ހ.€H€Ť€˙˙˙˙€1€1€˙˙˙˙ @ހ€ Q€j€ H€ę€˙˙˙˙ €1€1€˙˙˙˙ @ހ€Q€j€ń€(˙˙˙˙€1€1€˙˙˙˙€ހ€€j€˙˙˙˙€H€›€˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€y€ € ހ.€y€< ހ.€ހCH€T˙˙˙˙€1€1€˙˙˙˙ @ހ€!Q€j€"H€`˙˙˙˙#€1€1€˙˙˙˙$@ހ€%Q€j€&H€l˙˙˙˙'€1€1€˙˙˙˙(@ހ€)Q€j€*L€{+PPtrm_FileIDm_PathIDm_DefaultReferencesm_Iconm_ExecutionOrderm_ClassNamem_Namespacem_AssemblyNamem_IsEditorScriptČ0ĹňĂôL.`?^Ů0D7€˙˙˙˙€Ś€˛€Ѐڀڀڀ#Ś€+H€3˙˙˙˙€1€1€˙˙˙˙@ހ€ Q€j€ ™€< Ś€H H€Z˙˙˙˙ €1€1€˙˙˙˙@ހ€Q€j€Ѐgڀڀڀ#Ś€+v~ € €– €Ÿ €¨ €ą €ş €Ă €Ě €Ő €Ţ  €ç! €ń" €ű# €$ €% €&Ő€#˙˙˙˙'€1€1€˙˙˙˙(€ހ€)H€j€˙˙˙˙*€1€1€˙˙˙˙+@ހ€,Q€j€-™€*.ހ8/AssetMetaDataguiddata[0]data[1]data[2]data[3]pathNametimeCreatedoriginalChangesetoriginalNameoriginalParentHash128originalDigestbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]labelsassetStoreReflicenseType z{ď@îČă5^(H'7€˙˙˙˙€Ś€˛€ Ő€ ހ#.€,†€Ä€ ހ#.€,H€Ť€˙˙˙˙€1€1€˙˙˙˙ @ހ€ Q€j€ Ő€5˙˙˙˙ €1€1€˙˙˙˙ €ހ€€j€˙˙˙˙€H€›€˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€y€ € ހ#.€, €I@ž€X @ހ#.€,H€]˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€H€h˙˙˙˙€1€1€˙˙˙˙ @ހ€!Q€j€"H€z˙˙˙˙#€1€1€˙˙˙˙$@ހ€%Q€j€&MonoImporterPPtrm_FileIDm_PathIDm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariant˜˙˙˜@  ˙˙ŕyŻŘ ss˙˙l O¤€„L]‚ r@Assets/LeapMotion+OVR/SystemWipe/SystemWipeRecognizerListener.csSystemWipeRecognizerListenern using UnityEngine; using System; using Leap.Util; using System.Runtime.InteropServices; public class SystemWipeArgs : EventArgs { private SystemWipeInfo m_wipeInfo; public SystemWipeInfo WipeInfo { get { return m_wipeInfo; } } public SystemWipeArgs(SystemWipeInfo wipeInfo) { m_wipeInfo = wipeInfo; } } public class SystemWipeRecognizerListener : MonoBehaviour { public event EventHandler SystemWipeUpdate; public static SystemWipeRecognizerListener Instance; private SystemWipeInfo m_latestWipeInfo; private bool m_wipeInfoDirty = false; private object wipeInfoLock = new object(); void Awake() { if ( Instance == null ) { Instance = this; } else { throw new Exception("Attempting to create multiple SystemWipeRecognizerListeners. Only the first recognizer will be listed."); } } void Update() { // This code is not used in synchronous querying // lock(wipeInfoLock) { if( m_wipeInfoDirty) { EventHandler handler = SystemWipeUpdate; if ( handler != null ) { handler(this, new SystemWipeArgs(m_latestWipeInfo)); } m_wipeInfoDirty = false; } } // 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 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; } } // Called before the body's first Update() and, if you Disable the body it's called again before the first following Update(). void OnEnable() { // Callback delegate doesn't work as it is. We use synchronous querying in Update() instead. //systemWipeInfoDelegate = new Leap.Util.SystemWipeRecognizerNative.CallbackSystemWipeInfoDelegate(SystemWipeInfoCallback); //Leap.Util.SystemWipeRecognizerNative.SetSystemWipeRecognizerCallback(Marshal.GetFunctionPointerForDelegate(systemWipeInfoDelegate)); Leap.Util.SystemWipeRecognizerNative.EnableSystemWipeRecognizer(); } // Called when the body is disabled. Also called upon body destruction. void OnDisable() { Leap.Util.SystemWipeRecognizerNative.DisableSystemWipeRecognizer(); } Leap.Util.SystemWipeRecognizerNative.CallbackSystemWipeInfoDelegate systemWipeInfoDelegate; } SystemWipeRecognizerListenerAssembly-CSharp.dll