IEnumerator CrPlay() { if (IsPlaying) { yield return(new WaitWhile(() => IsPlaying)); } IsPlaying = true; Effecter.SetEffect(Target.TargetEffects, _effectId, true); OnBuffStart(); Timer.Set(_duration); yield return(new WaitUntil(() => Timer.IsDone)); OnBuffEnd(); Effecter.SetEffect(Target.TargetEffects, _effectId, false); IsPlaying = false; }