public bool update(float moveSpeed, float snapSpeed) { var audio = target.GetComponent <AudioSource>(); curaudio -= Time.deltaTime; if (audio.isPlaying && curaudio < 0) { audio.Stop(); } t += Mathf.Sin(Time.time) * Time.deltaTime; t += Input.GetAxis(axis) * moveSpeed * Time.deltaTime; if (Input.GetAxis(axis) < .1) { t = Mathf.Lerp(t, 0, Time.deltaTime * snapSpeed); } t = Mathf.Clamp01(t); target.transform.position = Vector3.Lerp(endPos, startPos, 1 - t); if (t < deadzone) { bool finishedDig = lastState != dig.Up; lastState = dig.Up; if (finishedDig) { Debug.Log("Finished dig"); audio.time = audioDelay * Random.value; audio.pitch = .85f + Random.value * .3f; audio.PlayDelayed(0); curaudio = audioDelay; } return(finishedDig); } else if (t > 1.0f - deadzone) { lastState = dig.Down; } target.transform.Find("Pawb").GetComponent <SpriteRenderer>().sprite = sprites[Mathf.FloorToInt(kp.RangeMap(t, 0, 1, 0, sprites.Count - 1, true))]; return(false); }
blockGeneric(dig, p);