QueueToKillTexture() private method

private QueueToKillTexture ( IntPtr killMe ) : void
killMe IntPtr
return void
Ejemplo n.º 1
0
	public void DestroySyphonClient(){
//		UnityEngine.Debug.Log("destroying syphon client" + syphonClientPointer + " " + BoundAppName + " " + boundName);
		if(attachedTexture != null){
			RenderTexture.active = null;
			attachedTexture.Release();
			//RenderTexture.active = null;
			UnityEngine.Object.DestroyImmediate(attachedTexture);
			attachedTexture = null;
		}
		
		if(syphonClientPointer != IntPtr.Zero && initialized){
			Syphon.QueueToKillTexture(syphonClientPointer);
			GL.IssuePluginEvent((int)syphonClientPointer);
			syphonClientPointer = IntPtr.Zero; 
			initialized = false;	
			
			//let anySyphonClientTextures who's registered for updates know that we've retired.
			if(RetireClient != null){
				RetireClient(this);
			}
		}
		else{
//			Debug.Log("syphon client: " + boundAppName + " " + boundName + " was not initialized, so not cleaning up the plugin on exit.");
		}			
	}
 public void OnDestroy()
 {
     if (syphonServerTextureInstance != IntPtr.Zero)
     {
         Syphon.QueueToKillTexture(syphonServerTextureInstance);
         GL.IssuePluginEvent((int)syphonServerTextureInstance);
     }
     syphonServerTextureInstance     = IntPtr.Zero;
     syphonServerTextureValuesCached = false;
     cachedTexID = 0;
 }