//input processing protected void ProcessTap(InputController.GestureData gestureData) { touchText.text = $"Tap. ID: {gestureData.fingerId}, Position: {gestureData.endPosition}, Time: {gestureData.time}"; if (_isCameraMoving) { _stopCamera = true; } else { LifeNode node = GridSystem.Instance.GetNode(GridSystem.Instance.GetTilemapCoordsFromScreen(gestureData.endPosition)) as LifeNode; if (node != null) { if (TapMode == ETapMode.Spawn) { SpawnLife(node); } else if (TapMode == ETapMode.Remove) { RemoveLife(node); } else { NodeInfo.gameObject.SetActive(false); NodeInfo.transform.position = gestureData.endPosition; NodeInfo.SetNode(node); NodeInfo.gameObject.SetActive(true); } } } }
protected void ProcessSwipe(InputController.GestureData gestureData) { touchText.text = $"Swipe. ID: {gestureData.fingerId}, Position: {gestureData.endPosition}, Time: {gestureData.time}"; Vector3 direction = new Vector3(gestureData.startPosition.x - gestureData.endPosition.x, gestureData.startPosition.y - gestureData.endPosition.y, 0).normalized; _isCameraMoving = true; StartCoroutine(CameraSwipe(direction)); }
protected void ProcessDrag(InputController.GestureData gestureData) { Vector3 lastPosition = MainCamera.ScreenToWorldPoint(new Vector3(gestureData.endPosition.x - gestureData.deltaPosition.x, gestureData.endPosition.y - gestureData.deltaPosition.y, MainCamera.nearClipPlane)); Vector3 endPos = MainCamera.ScreenToWorldPoint(new Vector3(gestureData.endPosition.x, gestureData.endPosition.y, MainCamera.nearClipPlane)); MainCamera.transform.position = CheckMapBounds(MainCamera.transform.position + (lastPosition - endPos)); touchText.text = $"Drag. ID: {gestureData.fingerId}, Position: {gestureData.endPosition}, Time: {gestureData.time}\n" + $"LastWorldPosition: {lastPosition}, EndWorldPosition: {endPos}, CameraPosition: {MainCamera.transform.position}"; }