// Start is called before the first frame update void Start() { GroundedStatus = false; if (KeyboardStyle == CKeyboardStyle.StyleTDS || KeyboardStyle == CKeyboardStyle.StyleSTW || KeyboardStyle == CKeyboardStyle.StyleJRPG) { TargetController.GetComponent <Rigidbody2D>().gravityScale = 0; TargetController.GetComponent <Rigidbody2D>().freezeRotation = true; } else if (VectorStyle == CVectorStyle.StyleTDS || VectorStyle == CVectorStyle.StyleSTW || VectorStyle == CVectorStyle.StyleJRPG) { TargetController.GetComponent <Rigidbody2D>().gravityScale = 0; TargetController.GetComponent <Rigidbody2D>().freezeRotation = true; } if (isEnabled && InputType == CInputType.Mouse) { isMoving = false; Destination = TargetController.transform.position; MovementQuadran = CMovementQuadran.None; } InputSyncronize(); }
void Update() { if (MovementType == CMovementType.Tap || MovementType == CMovementType.Click) { moveDirection = Vector3.zero; if (TargetController.isGrounded) { if (Input.GetKeyDown(PointerKey)) { ray = MainCamera.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out raycastHit)) { Destination = raycastHit.point; Destination.y = TargetController.transform.position.y; TargetController.transform.LookAt(Destination); } initialValue = false; } if (!initialValue) { CurrentDistance = Vector3.Distance(Destination, TargetController.transform.position); if (CurrentDistance > StopDistance) { moveDirection = transform.forward * MoveSpeed * Time.deltaTime; TargetController.Move(moveDirection); isMoving = true; } else { isMoving = false; } } } moveDirection.y -= gravity * Time.deltaTime; TargetController.Move(moveDirection * Time.deltaTime); } else if (MovementType == CMovementType.Swipe) { if (TargetController.isGrounded) { MovementQuadran = SwipeValue(); ray = MainCamera.ScreenPointToRay(SecondTouch); if (Physics.Raycast(ray, out raycastHit)) { Destination = raycastHit.point; Destination.y = TargetController.transform.position.y; TargetController.transform.LookAt(Destination); moveDirection = transform.forward * MoveSpeed * Time.deltaTime; } } moveDirection.y -= gravity * Time.deltaTime; TargetController.Move(moveDirection * Time.deltaTime); } }
void Start() { isMoving = false; Destination = TargetController.transform.position; MovementQuadran = CMovementQuadran.None; if (isCanvasSkillEnabled) { CanvasSkill.gameObject.SetActive(false); } }
CMovementQuadran SwipeValue() { CMovementQuadran result = CMovementQuadran.None; if (Input.touchCount > 0) { Touch touch = Input.touches[0]; switch (touch.phase) { case TouchPhase.Began: FirstTouch = touch.position; break; case TouchPhase.Moved: SecondTouch = touch.position; Direction = SecondTouch - FirstTouch; break; case TouchPhase.Ended: if (Direction.x >= 0 && Direction.y >= 0) { result = CMovementQuadran.UpRight; } if (Direction.x >= 0 && Direction.y < 0) { result = CMovementQuadran.DownRight; } if (Direction.x < 0 && Direction.y >= 0) { result = CMovementQuadran.UpLeft; } if (Direction.x < 0 && Direction.y < 0) { result = CMovementQuadran.DownLeft; } break; } } return(result); }
void Update() { if (MovementType == CMovementType.Tap || MovementType == CMovementType.Click) { moveDirection = Vector3.zero; if (TargetController.isGrounded) { if (Input.GetKeyDown(GetTriggerKey())) { lastpos = Input.mousePosition; if (isCanvasSkillEnabled) { CanvasSkill.gameObject.SetActive(true); } } if (Input.GetKey(GetTriggerKey())) { delta = Input.mousePosition - lastpos; RotationStatus = delta; lastpos = Input.mousePosition; Vector3 resultRotation = new Vector3(0, -RotationStatus.y, 0); this.transform.Rotate(resultRotation); } if (Input.GetKeyUp(GetTriggerKey())) { RotationStatus = Vector3.zero; if (isCanvasSkillEnabled) { CanvasSkill.gameObject.SetActive(false); } } if (Input.GetKeyUp(GetTriggerKey())) { ray = MainCamera.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out raycastHit)) { Destination = raycastHit.point; Destination.y = TargetController.transform.position.y; TargetController.transform.LookAt(Destination); RaycastTag = raycastHit.collider.tag; RayObjectTag = raycastHit.collider.gameObject.name; } initialValue = false; } if (!initialValue) { CurrentDistance = Vector3.Distance(Destination, TargetController.transform.position); if (CurrentDistance > StopDistance) { moveDirection = transform.forward * MoveSpeed * Time.deltaTime; TargetController.Move(moveDirection); isMoving = true; } else { isMoving = false; } } } moveDirection.y -= gravity * Time.deltaTime; TargetController.Move(moveDirection * Time.deltaTime); } else if (MovementType == CMovementType.Swipe) { if (TargetController.isGrounded) { MovementQuadran = SwipeValue(); ray = MainCamera.ScreenPointToRay(SecondTouch); if (Physics.Raycast(ray, out raycastHit)) { Destination = raycastHit.point; Destination.y = TargetController.transform.position.y; TargetController.transform.LookAt(Destination); moveDirection = transform.forward * MoveSpeed * Time.deltaTime; } } moveDirection.y -= gravity * Time.deltaTime; TargetController.Move(moveDirection * Time.deltaTime); } }
void Start() { isMoving = false; Destination = TargetController.transform.position; MovementQuadran = CMovementQuadran.None; }