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); } }
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); } }
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); }