Example #1
0
    private void TransitionMainText(SceneTransitionRequest str, Image anchorTarget)
    {
        var animGroup   = new AnimGroup();
        var textFadeOut = new FadeAnimation(PhraseText, Time.time, FadeOutDuration, FadeOutCurve, 0.0f);

        animGroup.AddAnimation(textFadeOut);

        var lastAnimFinish = textFadeOut.TimeEnd;

        var defaultTextBoxSize = new Vector2(anchorTarget.rectTransform.rect.width - 30,
                                             anchorTarget.rectTransform.rect.height - 35);

        var requiredHeight = GetDesiredTextHeight(PhraseText, str.TransitionPhrase, defaultTextBoxSize);

        if (PhraseBackground.rectTransform.anchoredPosition != anchorTarget.rectTransform.anchoredPosition ||
            !Mathf.Approximately(requiredHeight, PhraseText.rectTransform.rect.height))
        {
            var textBoxResize = new RectAnimation(PhraseBackground.rectTransform, textFadeOut.TimeEnd, TransitionDuration, TransitionCurve, anchorTarget.rectTransform);
            // Fixup for correct size
            textBoxResize.TargetSize.y = requiredHeight + 35;
            animGroup.AddAnimation(textBoxResize);
            lastAnimFinish = textBoxResize.TimeEnd;
        }

        var textChange = new SetTextAnimation(PhraseText, lastAnimFinish, str.TransitionPhrase);

        animGroup.AddAnimation(textChange);
        var textFadeIn = new FadeAnimation(PhraseText, lastAnimFinish, FadeInDuration, FadeInCurve, 1.0f);

        animGroup.AddAnimation(textFadeIn);
        _pendingAnimations.Enqueue(animGroup);
    }
Example #2
0
 public override void Execute()
 {
     base.Execute();
     AnimGroup.AddAnimation(new Animation(CurrentAnimation.PixelTexture));
     AnimGroup.AddNewTextField(new Vector2(36, 152 + ((AnimGroup.TextFont.LineSpacing + 2) * AnimGroup.Animations.Length)), "animation" + AnimGroup.Animations.Length);
     //animGroupTextFields = AddNewTextField(animGroupTextFields, new Vector2(36, 152 + ((consolas.LineSpacing + 2) * animGroup.Animations.Length)), "animation" + animGroup.Animations.Length);
 }
Example #3
0
    private void CreateChoices(SceneTransitionRequest str)
    {
        var animGroup = new AnimGroup();
        var curTime   = Time.time;

        if (_choiceButtons != null)
        {
            foreach (var btn in _choiceButtons)
            {
                Destroy(btn);
            }
        }
        _choiceButtons = new Button[str.TransitionChoices.Length];
        for (int i = 0; i < str.TransitionChoices.Length; ++i)
        {
            var choiceButton = Instantiate <Button>(ChoiceButtonPrototype, UIContainer.transform);
            var choice       = str.TransitionChoices[i];
            choiceButton.gameObject.SetActive(true);

            var choiceButtonCG = choiceButton.GetComponent <CanvasGroup>();
            choiceButtonCG.alpha = 0.0f;
            animGroup.AddAnimation(new FadeCGAnimation(choiceButtonCG, curTime + i * FadeInDuration, FadeInDuration, FadeInCurve, 1.0f));

            choiceButton.image.rectTransform.anchoredPosition = ChoiceButtonPrototype.image.rectTransform.anchoredPosition + new Vector2(0.0f, -i * (ChoiceButtonPrototype.image.rectTransform.rect.height + 40));

            choiceButton.onClick.AddListener(delegate { _choiceHandler(choice.ChoiceID); });

            var choiceButtonText = choiceButton.GetComponentInChildren <Text>();
            choiceButtonText.text = choice.ChoiceText;

            _choiceButtons[i] = choiceButton;
        }
        _pendingAnimations.Enqueue(animGroup);
    }
Example #4
0
    private void TransitionBackground(SceneTransitionRequest str)
    {
        var animGroup = new AnimGroup();

        BackgroundTransition.sprite = _backgroundPool.GetBackgroundSprite(str.TransitionBackground.ToLower());
        animGroup.AddAnimation(new FadeAnimation(BackgroundTransition, Time.time, FadeInDuration, FadeInCurve, 1.0f))
        .AddAnimation(new SetSpriteAnimation(Background, Time.time + FadeInDuration, BackgroundTransition.sprite))
        .AddAnimation(new FadeAnimation(BackgroundTransition, Time.time + FadeInDuration, 0.001f, FadeOutCurve, 0.0f));
        _pendingAnimations.Enqueue(animGroup);
    }
Example #5
0
 public override void Execute()
 {
     base.Execute();
     AnimGroup.RemoveAnimation(AnimGroup.Animations[AnimGroup.Animations.Length - 1]);
     AnimGroup.RemoveTextField();
     if (AnimGroup.Animations.Length <= 0)
     {
         AnimGroup.AddAnimation(new Animation(CurrentAnimation.PixelTexture));
         AnimGroup.AddNewTextField(new Vector2(36, 152 + ((AnimGroup.TextFont.LineSpacing + 2) * AnimGroup.Animations.Length)), "animation" + AnimGroup.Animations.Length);
     }
 }
Example #6
0
    // Animate actor group hiding
    private void HideActor()
    {
        // Account for floats being floats
        if (_actorGroup.alpha < 0.001f)
        {
            return;
        }
        var animGroup = new AnimGroup();

        animGroup.AddAnimation(new FadeCGAnimation(_actorGroup, Time.time, FadeOutDuration, FadeOutCurve, 0.0f));
        _pendingAnimations.Enqueue(animGroup);
    }
Example #7
0
        public override void Execute()
        {
            base.Execute();
            Animation newAnim = new Animation(CurrentAnimation.PixelTexture);

            newAnim.Bounds = new Rectangle(AnimGroup.CurrentAnimation.Bounds.X, AnimGroup.CurrentAnimation.Bounds.Y, AnimGroup.CurrentAnimation.Bounds.Width, AnimGroup.CurrentAnimation.Bounds.Height);
            foreach (Frame frame in AnimGroup.CurrentAnimation.Frames)
            {
                newAnim.AddFrame(new Frame(frame, false, newAnim.Bounds.Center));
            }
            AnimGroup.AddAnimation(newAnim);
            AnimGroup.AddNewTextField(new Vector2(36, 152 + ((AnimGroup.TextFont.LineSpacing + 2) * AnimGroup.Animations.Length)), "animation" + AnimGroup.Animations.Length);
        }
Example #8
0
    public void OnRunAnimation()
    {
        var target = Anchors[_currentAnchor];

        _currentAnchor = (_currentAnchor + 1) % Anchors.Length;

        var animGroup = new AnimGroup();

        animGroup.AddAnimation(new TextAnimation(0.3f, Time.time, 1.0f, 0.0f))
        .AddAnimation(new RectAnimation(0.5f, Time.time + 0.3f, TransformingImage.rectTransform,
                                        target.rectTransform))
        .AddAnimation(new TextAnimation(0.3f, Time.time + 0.8f, 0.0f, 1.0f));


        _animQueue.Enqueue(animGroup);
    }
Example #9
0
    private void ShowActor(SceneTransitionRequest str)
    {
        var timeOffset = 0.0f;

        // If the actor name is already on screen, change it gracefully
        if (_actorGroup.alpha > 0.99f)
        {
            if (ActorName.text != str.TransitionSpeaker)
            {
                var animGroup = new AnimGroup();
                animGroup.AddAnimation(new FadeAnimation(ActorName, Time.time, FadeOutDuration, FadeOutCurve, 0.0f))
                .AddAnimation(new SetTextAnimation(ActorName, Time.time + FadeOutDuration, str.TransitionSpeaker))
                .AddAnimation(new FadeAnimation(ActorName, Time.time + FadeOutDuration, FadeInDuration, FadeInCurve, 1.0f));
                timeOffset = FadeOutDuration + FadeInDuration;
                _pendingAnimations.Enqueue(animGroup);
            }
        }
        else
        {
            // Change the name without any animation, the fade in from the canvas group will do the rest
            ActorName.text = str.TransitionSpeaker;
            _pendingAnimations.Enqueue(new AnimGroup().AddAnimation(new FadeCGAnimation(_actorGroup, Time.time + timeOffset, FadeInDuration, FadeInCurve, 1.0f)));
        }
    }