public void Release() { _particles.Stop(); lineRenderer.enabled = false; // player.QuitYoyo(); target.gameObject.SetActive(true); yoyoState = YoyoState.IDLE; }
private void Start() { target.lengthToTarget = length; yoyoState = YoyoState.IDLE; offsetFromPlayer = transform.position - player.transform.position; lineRenderer = GetComponent <LineRenderer>(); lineRenderer.enabled = false; target.gameObject.SetActive(true); _particles = GetComponent <ParticleSystem>(); }
private void LaunchedUpdate() { DrawYoyoString(); Debug.DrawRay(goalPosition, Vector3.up, Color.red); // move towards goal position float frameSpeed = speed * Time.deltaTime; float distanceFromGoal = Vector3.Distance(transform.position, goalPosition); if (distanceFromGoal > frameSpeed) { transform.position -= goalDirection.normalized * frameSpeed; } else { yoyoSpinTarget.position = player.transform.position; yoyoState = YoyoState.PULL; } }
public void Launch() { if (yoyoState == YoyoState.IDLE) { goalPosition = target.transform.position; goalDirection = transform.position - goalPosition; goalPosition = transform.position - (goalDirection.normalized * length); yoyoState = YoyoState.LAUNCHED; target.gameObject.SetActive(false); // playerPullSpeed = playerPullSpeedInitial; if (goalPosition.x < player.transform.position.x) { spinDirection = 1; } else { spinDirection = -1; } } }