示例#1
0
    IEnumerator Gravupdown(float factor, float time, IEffectable target, SOEffect effect)
    {
        float targetGrav = target.GetDefaultGravity() * factor;
        float jumpHeight = target.GetDefaultJumpHeight() / factor;

        for (float i = 0; i < time; i = i + 1f)
        {
            if (!target.AffectedBy(effect))
            {
                // perhaps they got cured
                break;
            }

            target.SetGravity(targetGrav);
            target.SetJumpHeight(jumpHeight);

            yield return(new WaitForSeconds(1));
        }
        target.SetGravity(target.GetDefaultGravity());
        target.SetJumpHeight(target.GetDefaultJumpHeight());
        target.RemoveEffect(effect);
    }