private void HandleRivalBehaviour() { if (!rivalBalloon) { return; } // Release the balloon if (rivalBalloon.State == Balloon.BalloonStatus.Danger && willRivalReleaseBalloon) { ReleaseBalloon(false); willRivalReleaseBalloon = UnityEngine.Random.value < rivalSuccessProp; return; } // Balloon boom if (rivalBalloon.Inflate(rivalPresentInputSpeed * Time.deltaTime, 1.0f)) { rival.ResetInflateAnimationSpeed(); willRivalReleaseBalloon = UnityEngine.Random.value < rivalSuccessProp; Invoke("SpawnRivalBalloon", failFreezeTime); IsRivalFreezing = true; rivalBalloon = null; rival.StartDizzy(); } else { rival.SetInflateAnimationSpeed(rivalPresentInputSpeed * rivalInflateAniSpeedMultiplier); } }