public void PronounceLetter(ConsumableLetter letter, Action onComplete)
    {
        var subscriptions = new AnimationEventSubscriptions {
            OnComplete = onComplete
        };

        subscriptions.CustomEvents.Add(letter.PronounciationEvent, () => _audioSource.PlayOneShot(letter.PronounciationSound));
        QueueTransientAnimation(letter.PronounciationAnimation, subscriptions);
    }
Пример #2
0
    public void EatLetter(ConsumableLetter obj, Action onAnimationComplete)
    {
        PauseTouchInput();

        Destroy(obj.gameObject);
        ModifyProficiency(obj.Letter, 1);

        Animator.ReactPositively();
        PronounceLetter(obj, ResumeTouchAfterAnimation(onAnimationComplete));
    }
Пример #3
0
    public void RequestLetter(ConsumableLetter obj, bool withText, Action onComplete = null)
    {
        var subscriptions = new AnimationEventSubscriptions
        {
            OnComplete = onComplete
        };

        Animator.RequestLetter(obj, subscriptions);
        if (withText)
        {
            Communication.ShowDialog(obj.Letter.ToString());
        }
    }
Пример #4
0
        void RequestRandomLetter()
        {
            if (_objectsInActivity.Count == 0)
            {
                return;
            }

            var letters = _objectsInActivity.OfType <ConsumableLetter>().ToList();

            var idx             = Random.Range(0, letters.Count - 1);
            var requestedLetter = letters[idx];

            _requestedLetter = requestedLetter;

            MaxAttempts = DetermineMaxAttempts(_objectsInActivity, _requestedLetter.Letter);
            PrintRequestedLetter();
        }
Пример #5
0
    GameObject InstantiateLetterPreview(float xPosition, float yPosition, ConsumableLetter letter)
    {
        var gameObj = new GameObject(letter.name + " Preview");

        gameObj.transform.parent   = _root.transform;
        gameObj.transform.position = new Vector2(xPosition, yPosition);

        var sprite    = letter.GetComponent <SelectOnTouch>();
        var newSprite = gameObj.AddComponent <SpriteRenderer>();

        newSprite.color  = new Color(newSprite.color.r, newSprite.color.g, newSprite.color.b, 0);
        newSprite.sprite = sprite.HintSprite;
        var bobbing = gameObj.AddComponent <VerticalBobbing>();

        Utilities.FadeInObject(bobbing, 1);
        return(gameObj);
    }
Пример #6
0
 void PronounceLetter(ConsumableLetter obj, Action onAnimationComplete)
 {
     Animator.PronounceLetter(obj, onAnimationComplete);
 }
Пример #7
0
 void HandleCorrectLetter(ConsumableLetter consumedObject)
 {
     _completed = true;
     Ressi.EatLetter(consumedObject, onAnimationComplete: CompleteActivity);
 }
 public void RequestLetter(ConsumableLetter letter, AnimationEventSubscriptions subscriptions = null)
 {
     QueueTransientAnimation(letter.RequestAnimation, subscriptions);
 }
Пример #9
0
 bool IsRealLetter(ConsumableLetter letter)
 {
     return(letter != null && _letterGroup.Letters.Any(i => i.Letter == letter.Letter));
 }