예제 #1
0
        public virtual void OnClick(/*bool isClickCanceled,*/ Tween.TweenCallback callback = null)
        {
            if (tween != null && !tween.isCompleted)
            {
                tween.Complete();
            }

            if (interactable)
            {
#if MODULE_AUDIO_NATIVE
                NativeAudioHandler.PlayButtonPressSound();
#endif

                if (animationType == AnimationType.Tween)
                {
                    tween = graphic.transform.DOScale(1f, 0.04f, true).SetEasing(Ease.Type.QuadIn).OnComplete(!isClickCanceled ? callback : null);
                }
                else
                {
                    animator.SetTrigger(pointerUpTriggerParameter);
                    Tween.DelayedCall(0.075f, !isClickCanceled ? callback : null);
                }
            }
            else
            {
                //if (disabledSound != null)
                //    AudioController.PlaySound(disabledSound, AudioController.AudioType.Sound);
                //NativeAudioHandler.PlayButtonPressSound();

                //tween = graphic.transform.DOScale(1f, 0.075f, true).SetEasing(Ease.Type.QuadIn);
            }
        }
예제 #2
0
 public override void OnClick(Tween.TweenCallback callback = null)
 {
     base.OnClick(delegate
     {
         if (onClick != null)
         {
             onClick.Invoke();
         }
     });
 }
예제 #3
0
        private IEnumerator FadeAnimationCoroutine(Tween.TweenCallback callback)
        {
            while (transitionAnimator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1.0f)
            {
                yield return(null);
            }

            callback.Invoke();

            instance.transitionAnimator.SetTrigger(ANIMATION_FADE_OUT);
        }
예제 #4
0
        public override void OnClick(Tween.TweenCallback callback = null)
        {
            base.OnClick(callback);

            isActive = !isActive;

            if (isActive)
            {
                graphic.color = activeColor;
                AudioController.SetSoundVolume(1.0f);
            }
            else
            {
                graphic.color = disableColor;
                AudioController.SetSoundVolume(0.0f);
            }
        }
예제 #5
0
        public static void FadePanel(Tween.TweenCallback callback)
        {
            instance.fadePanel.raycastTarget = true;
            instance.fadePanel.color.SetAlpha(0);
            instance.fadePanel.gameObject.SetActive(true);
            instance.fadePanel.DOFade(1, 0.5f, true).OnComplete(delegate
            {
                callback.Invoke();

                instance.fadePanel.DOFade(0, 0.5f, true).OnComplete(delegate
                {
                    instance.fadePanel.color.SetAlpha(0);
                    instance.fadePanel.raycastTarget = false;
                    instance.fadePanel.gameObject.SetActive(false);
                });
            });
        }
예제 #6
0
        /// <summary>
        /// Init function that called when it will completed.
        /// </summary>
        /// <param name="callback">Complete function.</param>
        public TweenCase OnComplete(Tween.TweenCallback callback)
        {
            onCompleteCallback += callback;

            return(this);
        }
예제 #7
0
        public static void FadeAnimation(Tween.TweenCallback callback)
        {
            instance.transitionAnimator.SetTrigger(ANIMATION_FADE_IN);

            instance.StartCoroutine(instance.FadeAnimationCoroutine(callback));
        }