public float ease(float t, float b, float c, float d)
    {
        easeInBounce  easein  = new easeInBounce();
        easeOutBounce easeout = new easeOutBounce();

        if (t < d / 2f)
        {
            return(easein.ease(t * 2f, 0f, c, d) * 0.5f + b);
        }
        return(easeout.ease(t * 2f - d, 0f, c, d) * 0.5f + c * 0.5f + b);
    }
 public float ease(float t, float b, float c, float d)
 {
     easeOutBounce ease = new easeOutBounce();
     return c -  ease.ease (d-t, 0f, c, d) + b;
 }
    public float ease(float t, float b, float c, float d)
    {
        easeOutBounce ease = new easeOutBounce();

        return(c - ease.ease(d - t, 0f, c, d) + b);
    }
    public float ease(float t, float b, float c, float d)
    {
        easeInBounce easein = new easeInBounce();
        easeOutBounce easeout = new easeOutBounce();

        if (t < d/2f) return easein.ease (t*2f, 0f, c, d) * 0.5f + b;
        return easeout.ease (t*2f-d, 0f, c, d) * 0.5f + c*0.5f + b;
    }