private void Start() { panGesture = new PanGestureRecognizer { PlatformSpecificView = PanPlatformSpecificView, ThresholdUnits = PanGestureThresholdUnits }; panGesture.StateUpdated += Panned; tapGesture = new TapGestureRecognizer { ClearTrackedTouchesOnEndOrFail = true, MaximumNumberOfTouchesToTrack = 10, PlatformSpecificView = TapPlatformSpecificView, ThresholdUnits = TapGestureThresholdUnits }; tapGesture.StateUpdated += Tapped; tapGesture.AllowSimultaneousExecution(panGesture); if (!string.IsNullOrEmpty(CrossPlatformInputHorizontalAxisName) && !string.IsNullOrEmpty(CrossPlatformInputVerticalAxisName)) { crossPlatformInputHorizontalAxisObject = FingersCrossPlatformInputReflectionScript.RegisterVirtualAxis(CrossPlatformInputHorizontalAxisName, out crossPlatformInputAxisMoveNewlyRegistered); crossPlatformInputVerticalAxisObject = FingersCrossPlatformInputReflectionScript.RegisterVirtualAxis(CrossPlatformInputVerticalAxisName, out crossPlatformInputAxisMoveNewlyRegistered); } if (!string.IsNullOrEmpty(CrossPlatformInputJumpAxisName)) { crossPlatformInputJumpAxisObject = FingersCrossPlatformInputReflectionScript.RegisterVirtualAxis(CrossPlatformInputJumpAxisName, out crossPlatformInputAxisJumpNewlyRegistered); } clearJumpAction = ClearJump; FingersScript.Instance.AddGesture(panGesture); FingersScript.Instance.AddGesture(tapGesture); }
private void OnEnable() { rectTransform = GetComponent <RectTransform>(); PanGesture = new PanGestureRecognizer { PlatformSpecificView = JoystickBackground.gameObject, ThresholdUnits = 0.0f }; PanGesture.AllowSimultaneousExecutionWithAllGestures(); PanGesture.StateUpdated += PanGestureUpdated; #if UNITY_EDITOR if (JoystickImage == null || JoystickImage.canvas.renderMode != RenderMode.ScreenSpaceOverlay) { Debug.LogError("Fingers joystick script requires that JoystickImage be set and that the Canvas be in ScreenSpaceOverlay mode."); } #endif if (!string.IsNullOrEmpty(CrossPlatformInputHorizontalAxisName) && !string.IsNullOrEmpty(CrossPlatformInputVerticalAxisName)) { crossPlatformInputHorizontalAxisObject = FingersCrossPlatformInputReflectionScript.RegisterVirtualAxis(CrossPlatformInputHorizontalAxisName, out crossPlatformInputNewlyRegistered); crossPlatformInputVerticalAxisObject = FingersCrossPlatformInputReflectionScript.RegisterVirtualAxis(CrossPlatformInputVerticalAxisName, out crossPlatformInputNewlyRegistered); } FingersScript.Instance.AddGesture(PanGesture); }
private void OnEnable() { #if UNITY_EDITOR ValidateImages(DPadBackgroundImage, DPadUpImageSelected, DPadRightImageSelected, DPadDownImageSelected, DPadLeftImageSelected, DPadCenterImageSelected); #endif PanGesture = new PanGestureRecognizer { PlatformSpecificView = DPadBackgroundImage.gameObject, ThresholdUnits = 0.0f }; PanGesture.StateUpdated += PanGestureUpdated; FingersScript.Instance.AddGesture(PanGesture); TapGesture = new TapGestureRecognizer { PlatformSpecificView = DPadBackgroundImage.gameObject }; TapGesture.StateUpdated += TapGestureUpdated; TapGesture.AllowSimultaneousExecution(PanGesture); if (!string.IsNullOrEmpty(CrossPlatformInputHorizontalAxisName) && !string.IsNullOrEmpty(CrossPlatformInputVerticalAxisName)) { crossPlatformInputHorizontalAxisObject = FingersCrossPlatformInputReflectionScript.RegisterVirtualAxis(CrossPlatformInputHorizontalAxisName, out crossPlatformInputNewlyRegistered); crossPlatformInputVerticalAxisObject = FingersCrossPlatformInputReflectionScript.RegisterVirtualAxis(CrossPlatformInputVerticalAxisName, out crossPlatformInputNewlyRegistered); } FingersScript.Instance.AddGesture(TapGesture); }
private void OnEnable() { rectTransform = GetComponent <RectTransform>(); rectTransform.pivot = new Vector2(0.5f, 0.5f); PanGesture.ThresholdUnits = 0.0f; PanGesture.AllowSimultaneousExecutionWithAllGestures(); PanGesture.StateUpdated += PanGestureUpdated; #if UNITY_EDITOR if (JoystickImage != null && JoystickImage.canvas.renderMode != RenderMode.ScreenSpaceOverlay) { Debug.LogError("Fingers joystick script requires that if JoystickImage is set, the Canvas is in ScreenSpaceOverlay mode."); } #endif if (!string.IsNullOrEmpty(CrossPlatformInputHorizontalAxisName) && !string.IsNullOrEmpty(CrossPlatformInputVerticalAxisName)) { crossPlatformInputHorizontalAxisObject = FingersCrossPlatformInputReflectionScript.RegisterVirtualAxis(CrossPlatformInputHorizontalAxisName, out crossPlatformInputNewlyRegistered); crossPlatformInputVerticalAxisObject = FingersCrossPlatformInputReflectionScript.RegisterVirtualAxis(CrossPlatformInputVerticalAxisName, out crossPlatformInputNewlyRegistered); } FingersScript.Instance.AddGesture(PanGesture); SetIdleState(); homePosition = rectTransform.position; }