示例#1
0
    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);
    }
示例#2
0
 blockGeneric(dig, p);