/// <summary> /// Check for touch count changes /// </summary> void CheckTouchCounts() { #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBPLAYER if (itsEmulateTouchWithMouse) { if (Input.GetMouseButtonDown(0)) { TouchCountChangedArgs anArgs = new TouchCountChangedArgs(AreaIDFullScreen,itsTouchCountFullScreen,Input.touchCount); itsTouchCountFullScreen = 1; OnEventTouchCountChanged(anArgs); } if (Input.GetMouseButtonUp(0)) { TouchCountChangedArgs anArgs = new TouchCountChangedArgs(AreaIDFullScreen,itsTouchCountFullScreen,Input.touchCount); itsTouchCountFullScreen = 0; OnEventTouchCountChanged(anArgs); } } #endif // check for whole screen if (itsTouchCountFullScreen != Input.touchCount) { TouchCountChangedArgs anArgs = new TouchCountChangedArgs(AreaIDFullScreen,itsTouchCountFullScreen,Input.touchCount); itsTouchCountFullScreen = Input.touchCount; OnEventTouchCountChanged(anArgs); } // check for each registered area foreach (int anAreaKey in itsTouchAreas.Keys) { int aCountNew = 0; if (!itsTouchAreas[anAreaKey].itsActive) continue; #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBPLAYER if (itsEmulateTouchWithMouse) { if (Input.GetMouseButton(0)) { if (itsFingerToAreaID.ContainsKey(0)) { if (itsFingerToAreaID[0] == anAreaKey) { aCountNew++; } } } } #endif for (int i=0;i<Input.touchCount;i++) { Touch aTouch = Input.GetTouch(i); // if (anArea.Contains(aTouch.position)) if (itsFingerToAreaID.ContainsKey(aTouch.fingerId)) { if (itsFingerToAreaID[aTouch.fingerId] == anAreaKey) aCountNew++; } } if (aCountNew != itsTouchAreas[anAreaKey].itsTouchCount) { TouchCountChangedArgs anArgs = new TouchCountChangedArgs(anAreaKey,itsTouchAreas[anAreaKey].itsTouchCount,aCountNew); itsTouchAreas[anAreaKey].itsTouchCount = aCountNew; OnEventTouchCountChanged(anArgs); } } }
/// <summary> /// Check for touch count changes /// </summary> void CheckTouchCounts() { #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBPLAYER if (itsEmulateTouchWithMouse) { if (Input.GetMouseButtonDown(0)) { TouchCountChangedArgs anArgs = new TouchCountChangedArgs(AreaIDFullScreen, itsTouchCountFullScreen, Input.touchCount); itsTouchCountFullScreen = 1; OnEventTouchCountChanged(anArgs); } if (Input.GetMouseButtonUp(0)) { TouchCountChangedArgs anArgs = new TouchCountChangedArgs(AreaIDFullScreen, itsTouchCountFullScreen, Input.touchCount); itsTouchCountFullScreen = 0; OnEventTouchCountChanged(anArgs); } } #endif // check for whole screen if (itsTouchCountFullScreen != Input.touchCount) { TouchCountChangedArgs anArgs = new TouchCountChangedArgs(AreaIDFullScreen, itsTouchCountFullScreen, Input.touchCount); itsTouchCountFullScreen = Input.touchCount; OnEventTouchCountChanged(anArgs); } // check for each registered area foreach (int anAreaKey in itsTouchAreas.Keys) { int aCountNew = 0; if (!itsTouchAreas[anAreaKey].itsActive) { continue; } #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBPLAYER if (itsEmulateTouchWithMouse) { if (Input.GetMouseButton(0)) { if (itsFingerToAreaID.ContainsKey(0)) { if (itsFingerToAreaID[0] == anAreaKey) { aCountNew++; } } } } #endif for (int i = 0; i < Input.touchCount; i++) { Touch aTouch = Input.GetTouch(i); // if (anArea.Contains(aTouch.position)) if (itsFingerToAreaID.ContainsKey(aTouch.fingerId)) { if (itsFingerToAreaID[aTouch.fingerId] == anAreaKey) { aCountNew++; } } } if (aCountNew != itsTouchAreas[anAreaKey].itsTouchCount) { TouchCountChangedArgs anArgs = new TouchCountChangedArgs(anAreaKey, itsTouchAreas[anAreaKey].itsTouchCount, aCountNew); itsTouchAreas[anAreaKey].itsTouchCount = aCountNew; OnEventTouchCountChanged(anArgs); } } }