Should the cursor be locked?
	// Called when the cursor is actually being locked	function DidLockCursor () {
		Debug.Log("Locking cursor");		// Disable the button
		guiTexture.enabled = false;
	}	// Called when the cursor is being unlocked
	// or by a script calling Screen.lockCursor = false;
	function DidUnlockCursor () {
		Debug.Log("Unlocking cursor");		// Show the button again
		guiTexture.enabled = true;
	}	function OnMouseDown () {
		// Lock the cursor
		Screen.lockCursor = true;
	}	private var wasLocked = false;	function Update () {
		// In standalone player we have to provide our own key
		// input for unlocking the cursor
		if (Input.GetKeyDown ("escape"))
			Screen.lockCursor = false;		// Did we lose cursor locking?
		// eg. because the user pressed escape
		// or because he switched to another application
		// or because some script set Screen.lockCursor = false;
		if (!Screen.lockCursor && wasLocked) {
			wasLocked = false;
			DidUnlockCursor();
		}
		// Did we gain cursor locking?
		else if (Screen.lockCursor && !wasLocked) {
			wasLocked = true;
			DidLockCursor ();
		}
	}
      using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void DidLockCursor() { Debug.Log("Locking cursor"); guiTexture.enabled = false; } void DidUnlockCursor() { Debug.Log("Unlocking cursor"); guiTexture.enabled = true; } void OnMouseDown() { Screen.lockCursor = true; } private bool wasLocked = false; void Update() { if (Input.GetKeyDown("escape")) Screen.lockCursor = false; if (!Screen.lockCursor && wasLocked) { wasLocked = false; DidUnlockCursor(); } else if (Screen.lockCursor && !wasLocked) { wasLocked = true; DidLockCursor(); } } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def DidLockCursor() as void: Debug.Log('Locking cursor') guiTexture.enabled = false def DidUnlockCursor() as void: Debug.Log('Unlocking cursor') guiTexture.enabled = true def OnMouseDown() as void: Screen.lockCursor = true private wasLocked as bool = false def Update() as void: if Input.GetKeyDown('escape'): Screen.lockCursor = false if (not Screen.lockCursor) and wasLocked: wasLocked = false DidUnlockCursor() elif Screen.lockCursor and (not wasLocked): wasLocked = true DidLockCursor()