public void OnChooseButtonInWaitListTapped(PvZChooseButton button)
        {
            RectangleF destRect = this.chosenList.MakeDestination();
            if (!destRect.IsEmpty && !button.IsDisabled)
            {
                PvZChooseButtonAvatar avatar = new PvZChooseButtonAvatar(this.Game, 1f, 0.2f, 0.5f);
                avatar.Background = button.Background;
                avatar.Canvas.Bound.Alter(button.Canvas.Bound);
                avatar.Parent = button;
                avatar.OnCompleteAnimating += this.OnAvatarCompleted;
                this.uiManager.Add(avatar);
                avatar.StartAnimating(destRect);

                button.IsDisabled = true;
            }
        }
        private void OnAvatarCompleted(PvZChooseButtonAvatar avatar)
        {
            avatar.KillMe();

            var buttonF = this.buttonFB[avatar.Parent.Name];
            var chButton = buttonF.CreateChooseButton(this.Game);
            chButton.OnTap += this.OnChooseButtonInChosenListTapped;
            this.chosenList.AddChooseButton(chButton);
        }
        public void OnChooseButtonInWaitListTapped(PvZChooseButton button)
        {
            RectangleF destRect = this.chosenList.MakeDestination();
            if (!destRect.IsEmpty && !button.IsDisabled)
            {
                SCSServices.Instance.AudioManager.PlaySound(this.buttonChoosedSound, false, true);
                PvZChooseButtonAvatar avatar = new PvZChooseButtonAvatar(this.Game, 1f, 0.2f, 0.5f);
                avatar.Background = button.Background;
                avatar.Canvas.Bound.Alter(button.Canvas.Bound);
                avatar.Parent = button;
                avatar.OnCompleteAnimating += this.OnAvatarCompleted;
                this.uiManager.Add(avatar);
                avatar.StartAnimating(destRect);
                this.chosenList.NumberOfBufferedButtons++;

                button.IsDisabled = true;
            }
            else
            {
                SCSServices.Instance.AudioManager.PlaySound(this.buttonTouchedFail, false, true);
            }
        }