コード例 #1
0
        public void SetOrbEffect(KeyboardEffectKindId effect)
        {
            if (effect == KeyboardEffectKindId.Shuffle)
            {
                DoShaffleLetters();
                return;
            }

            foreach (var button in _buttons.Where(b => b.Letter.OrbColor == null))
            {
                button.SetEffect(effect);
            }
        }
コード例 #2
0
        public void Setup(KeyboardEffectKindId effect, float duration)
        {
            Effect     = effect;
            _button    = GetComponent <LetterButton>();
            _duration  = duration;
            _startTime = Time.time;


            switch (effect)
            {
            case KeyboardEffectKindId.Blur:
                StartCoroutine(LerpBlur());
                break;

            case KeyboardEffectKindId.Flip:
                StartCoroutine(LerpFlip());
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(effect), effect, null);
            }
        }
コード例 #3
0
        public void SetEffect(KeyboardEffectKindId effect)
        {
            if (!gameObject.activeSelf)
            {
                return;
            }
            var cur = gameObject.GetComponents <LetterButtonEffect>();

            var time = (1 + cur.Length) * 5;

            foreach (var cFx in cur)
            {
                cFx.ResetDuration(time);
            }

            if (cur.Any(e => e.Effect == effect))
            {
                return;
            }

            var fx = gameObject.AddComponent <LetterButtonEffect>();

            fx.Setup(effect, time);
        }