IEnumerator Clean(BalloonsHooks hooks, float duration, BubbleSystemData data) { yield return(new WaitForSeconds(duration)); if (hooks) { if (hooks.Content != null) { hooks.Hide(); var animationClips = hooks.GetComponent <Animator>().runtimeAnimatorController.animationClips; float length = balloonData.GetClipsDuration(hooks) * 2; //times 2, to give it a little more time KeyValuePair <Emotion, float> emotionPair = BubbleSystemUtility.GetHighestEmotion(data.emotions); float sum = BubbleSystemUtility.GetEmotionsSum(data.emotions); TextData textData; if (balloonData.options) { textData = DefaultData.Instance.GetDefaultTextData(data.tutor.GetString(), emotionPair.Value); } else { textData = DefaultData.Instance.GetDefaultTextData(emotionPair.Key.GetString(), emotionPair.Value); } Dictionary <AbstractTextEffect.TextEffectEnum, AnimationCurve> hideEffects = data.balloonData.effects.hideEffects.Count != 0 ? data.balloonData.effects.hideEffects : textData.hideEffect; foreach (AbstractTextEffect.TextEffectEnum effect in hideEffects.Keys) { SetTextEffects(hooks, hideEffects[effect], sum, length, false); coroutines.Add(balloonData.SetEffects(effect, textEffectsData)); } } } }
public void SetAnimators(BalloonsHooks hooks, Dictionary <Emotion, float> emotions) { Animator animator = hooks.GetComponent <Animator>(); if (!(animator && animator.isActiveAndEnabled)) { return; } float sum = 0; ResetAllFloats(animator); foreach (Emotion emotion in emotions.Keys) { if (emotion.Get().Equals(Emotion.EmotionEnum.Neutral)) { continue; } sum += emotions[emotion]; animator.SetFloat(emotion.GetString(), emotions[emotion]); } animator.SetFloat(Emotion.EmotionEnum.Neutral.ToString(), 1.0f - sum); animator.SetFloat(DefaultData.Instance.Default, 1.0f); }
private void SetTextEffects(BalloonsHooks hooks, AnimationCurve curve, float intensity, float duration, bool show) { textEffectsData.Clear(); textEffectsData.hooks = hooks; textEffectsData.curve = curve; textEffectsData.intensity = intensity; textEffectsData.duration = duration; textEffectsData.show = show; }
public void SetAnimators(BalloonsHooks hooks, Emotion emotion) { Animator animator = hooks.GetComponent <Animator>(); if (!(animator && animator.isActiveAndEnabled)) { return; } ResetAllFloats(animator); animator.SetFloat(emotion.GetString(), 1.0f); animator.SetFloat(DefaultData.Instance.Default, 1.0f); }
public void SetTexts(BalloonsHooks hooks, TextData textData, Color color, Emotion emotion) { if (!hooks.text) { return; } DefaultData.PositionData positionData = DefaultData.Instance.GetTextSizes(emotion.Get()); RectTransform rect = hooks.text.GetComponent <RectTransform>(); hooks.text.font = textData.font; hooks.text.color = color; rect.anchorMin = positionData.anchorMin; rect.anchorMax = positionData.anchorMax; }
public void SetSprites(Emotion emotion, BalloonsHooks hooks, SpriteData spriteData, float intensity, Color color, bool options) { if (!hooks || options) { return; } Image image = hooks.balloon.GetComponent <Image>(); DefaultData.PositionData positionData = DefaultData.Instance.GetDefaultPositions(emotion.Get(), intensity, hooks.balloon.name); RectTransform rect = hooks.balloon.GetComponent <RectTransform>(); image.sprite = spriteData.sprite; image.color = color; rect.anchorMin = positionData.anchorMin; rect.anchorMax = positionData.anchorMax; SetTails(emotion, hooks.tailTopLeft, spriteData.tail, intensity, color); SetTails(emotion, hooks.tailBotLeft, spriteData.tail, intensity, color); SetTails(emotion, hooks.tailTopRight, spriteData.tail, intensity, color); SetTails(emotion, hooks.tailBotRight, spriteData.tail, intensity, color); }
// ANIMATIONS SHOULD BE NORMALIZED (LENGTH OF 1) public float GetClipsDuration(BalloonsHooks hooks) { return(1); }
public void SetCallback(BalloonsHooks hooks, IntFunc callback, int index) { hooks.onClick = () => { callback(index); }; }
public void SetContent(BalloonsHooks hooks, string text) { hooks.Content = text; }