예제 #1
0
    IEnumerator repairTimeEnum(float repairTime, repairDelegate repairAction, string actionButton)
    {
        velocity = Vector3.zero;
        healtbar?.ShowSlider();
        float t = 0;

        canMove = false;
        anim?.setBoolean("repair", true);
        float soundtime = 0;

        while (t < repairTime && Input.GetButton(actionButton))
        {
            healtbar?.UpdateSlider(t / repairTime);

            if (t > soundtime)
            {
                AudioManager.instance.Play("repair");
                soundtime += repairTime / 3;
            }

            t += Time.deltaTime;
            yield return(null);
        }
        healtbar?.HideSlider();
        if (t >= repairTime)
        {
            repairAction.Invoke();
        }
        anim?.setBoolean("repair", false);
        currentRepair = null;
        canMove       = true;
    }