public void Tick(float d) { float h = Input.GetAxis("Mouse X"); float v = Input.GetAxis("Mouse Y"); float c_h = Input.GetAxis("RightAxis X"); float c_v = Input.GetAxis("RightAxis Y"); float targetSpeed = mouseSpeed; changeTargetLeft = Input.GetKeyUp(KeyCode.V); changeTargetRight = Input.GetKeyUp(KeyCode.B); if (lockonTarget != null) { if (lockonTransform == null) { lockonTransform = lockonTarget.GetTarget(); states.lockOnTransform = lockonTransform; } if (Mathf.Abs(c_h) > 0.6f) { if (!usedRightAxis) { lockonTransform = lockonTarget.GetTarget((c_h > 0)); states.lockOnTransform = lockonTransform; usedRightAxis = true; } } if (changeTargetLeft || changeTargetRight) { lockonTransform = lockonTarget.GetTarget(changeTargetLeft); states.lockOnTransform = lockonTransform; } } if (usedRightAxis) { if (Mathf.Abs(c_h) < 0.6f) { usedRightAxis = false; } } if (c_h != 0 || c_v != 0) { h = c_h; v = -c_v; targetSpeed = controllerSpeed; } FollowTarget(d); HandleRotations(d, v, h, targetSpeed); }
public void Tick(float d) { float h = Input.GetAxis("Mouse X"); float v = Input.GetAxis("Mouse Y"); float c_h = Input.GetAxis("RightAxis X"); float c_v = Input.GetAxis("RightAxis Y"); float targetSpeed = mouseSpeed; if (lockOnTarget != null) { if (lockOnTransform == null) { lockOnTransform = lockOnTarget.GetTarget(); states.lockOnTransform = lockOnTransform; } if (Mathf.Abs(c_h) > 0.6f) { if (!usedRightAxis) { if (c_h > 0) { lockOnTransform = lockOnTarget.GetTarget(); } else { lockOnTransform = lockOnTarget.GetTarget(true); } states.lockOnTransform = lockOnTransform; usedRightAxis = true; } } } if (usedRightAxis) { if (Mathf.Abs(c_h) < 0.6f) { usedRightAxis = false; } } if (c_h != 0 || c_v != 0) { h = c_h; v = c_v; targetSpeed = controllerSpeed; } FollowTarget(d); HandleRotations(d, v, h, targetSpeed); }
public void Tick(float d) { float h = Input.GetAxis("Mouse X"); float v = Input.GetAxis("Mouse Y"); float targetSpeed = mouseSpeed; changeTargetLeft = Input.GetKeyUp(KeyCode.V); changeTargetRight = Input.GetKeyUp(KeyCode.B); // handle target selection for the camera (lockOnState) if (lockOnTarget != null) { // assigning initial targets (1) if (lockOnTransform == null) { lockOnTransform = lockOnTarget.GetTarget(); states.lockOnTransform = lockOnTransform; } // switching between different targets. (2) //if (Mathf.Abs (h) > 0.8f) { // /*because usedRightAxis is always set to false when <0.8 // also, because when we use the right axis, it jumps to (>0.8f) and then falls back down to 0 quickly // thus it will reset the h value and usedRightAxis value to default // */ // if (!usedRightAxis){ // lockOnTransform = lockOnTarget.GetTarget ((h > 0)); // states.lockOnTransform = lockOnTransform; // usedRightAxis = true; // } //} if (changeTargetLeft || changeTargetRight) { lockOnTransform = lockOnTarget.GetTarget(changeTargetLeft); states.lockOnTransform = lockOnTransform; } } //// turn off usedRightAxis when it's falling back down to 0 (only when it is active). //if (usedRightAxis) { // if (Mathf.Abs (h) < 0.8f) // usedRightAxis = false; //} FollowTarget(d); HandleRotations(d, v, h, targetSpeed); }
public void Tick(float delta) { float vertical = Input.GetAxis("Mouse Y"); float horizontal = Input.GetAxis("Mouse X"); float targetSpeed = mouseSpeed; if (lockOnTarget) { if (!lockOnTransform) { lockOnTransform = lockOnTarget.GetTarget(); stateManager.lockOnTransform = lockOnTransform; } if (Mathf.Abs(horizontal) > 0.6f) { if (!moved) { lockOnTransform = lockOnTarget.GetTarget((horizontal > 0)); stateManager.lockOnTransform = lockOnTransform; moved = true; } } } if (moved) { if (Mathf.Abs(horizontal) < 0.6f) { moved = false; } } FollowTarget(delta); HandleRotations(delta, vertical, horizontal, targetSpeed); }