} //END Color //---------------------------------------------// /// <summary> /// Change the color for the passed in Renderer or Material /// </summary> /// <typeparam name="T">Renderer/Object</typeparam> /// <param name="tweenThis">Accepts [Renderer, Image, RawImage, SpriteRenderer, Text, Material, CanvasGroup]</param> /// <param name="endValue">Color to tween to</param> /// <param name="length">How long tween should take</param> /// <param name="easeType">What ease type you would like this tween to use</param> /// <param name="startValue">[OPTIONAL] Value to start from. If not provided we will use the existing value from the 'tweenThis' object</param> /// <param name="delay">[OPTIONAL] How long we should wait before starting to tween</param> /// <param name="loop">[OPTIONAL] Keep the tween running via a loop indefinitely</param> /// <param name="onCompleteOrLoop">[OPTIONAL] A UnityEvent to call once the tween has finished or completed a single loop</param> /// <returns></returns> public static bxrTween Color<T>( this T tweenThis, Color endValue, float length, EaseCurve.EaseType easeType, Color? startValue = null, float delay = 0f, bool loop = false, UnityEvent onCompleteOrLoop = null ) //---------------------------------------------// { return TweenManager.Color( tweenThis, endValue, length, EaseCurve.GetEaseCurve( easeType ), startValue, delay, loop, onCompleteOrLoop ); } //END Color
} //END CallEvent //----------------------------------// private void CallChangeColorEvent() //----------------------------------// { if( DoesChangeColorObjectExist() ) { if( changeColorSettings == ChangeColorSettings.ChangeToColor && changeColorOn != ChangeColorOn.UIColorAnimation ) { if( changeColorOn == ChangeColorOn.MeshRenderer ) { color_MeshRenderer.sharedMaterial.color = changeToColor; } else if( changeColorOn == ChangeColorOn.Material ) { color_Material.color = changeToColor; } else if( changeColorOn == ChangeColorOn.RawImage ) { color_RawImage.color = changeToColor; } else if( changeColorOn == ChangeColorOn.Image ) { color_Image.color = changeToColor; } else if( changeColorOn == ChangeColorOn.SpriteRenderer ) { color_SpriteRenderer.color = changeToColor; } else if( changeColorOn == ChangeColorOn.Text ) { color_Text.color = changeToColor; } else if( changeColorOn == ChangeColorOn.CanvasGroup ) { color_CanvasGroup.alpha = changeToColor.a; } else if( changeColorOn == ChangeColorOn.UIColorTweener ) { color_UIColorTweener.Force( changeToColor, changeColorTweenValue ); } else if( changeColorOn == ChangeColorOn.UIColorTweenManager ) { color_UIColorTweenManager.Force( changeToColor, changeColorTweenValue ); } if( colorSettingsSetToChange() && onChangeColor != null ) { onChangeColor.Invoke(); } } else if( changeColorSettings == ChangeColorSettings.FadeToColor && changeColorOn != ChangeColorOn.UIColorAnimation ) { /* string property = "_Color"; if( IsChangeMaterialColorPropertyTrue() ) { property = materialProperty; } */ UnityEvent _event = new UnityEvent(); _event.AddListener( LoadColorTweenComplete ); if( changeColorOn == ChangeColorOn.MeshRenderer ) { TweenManager.Color( color_MeshRenderer, changeToColor, colorTweenSpeed, colorEaseType, color_MeshRenderer.sharedMaterial.color, colorTweenDelay, false, _event ); } else if( changeColorOn == ChangeColorOn.Material ) { TweenManager.Color( color_Material, changeToColor, colorTweenSpeed, colorEaseType, color_Material.color, colorTweenDelay, false, _event ); } else if( changeColorOn == ChangeColorOn.RawImage ) { TweenManager.Color( color_RawImage, changeToColor, colorTweenSpeed, colorEaseType, color_RawImage.color, colorTweenDelay, false, _event ); } else if( changeColorOn == ChangeColorOn.Image ) { TweenManager.Color( color_Image, changeToColor, colorTweenSpeed, colorEaseType, color_Image.color, colorTweenDelay, false, _event ); } else if( changeColorOn == ChangeColorOn.SpriteRenderer ) { TweenManager.Color( color_SpriteRenderer, changeToColor, colorTweenSpeed, colorEaseType, color_SpriteRenderer.color, colorTweenDelay, false, _event ); } else if( changeColorOn == ChangeColorOn.Text ) { TweenManager.Color( color_Text, changeToColor, colorTweenSpeed, colorEaseType, color_Text.color, colorTweenDelay, false, _event ); } else if( changeColorOn == ChangeColorOn.CanvasGroup ) { TweenManager.Color( color_CanvasGroup, changeToColor, colorTweenSpeed, colorEaseType, new Color( Color.white.r, Color.white.g, Color.white.b, color_CanvasGroup.alpha ), colorTweenDelay, false, _event ); } else if( changeColorOn == ChangeColorOn.UIColorTweener ) { color_UIColorTweener.Play( UITweener.TweenValue.Show, changeToColor, colorTweenSpeed, colorTweenDelay, colorEaseType, _event ); } else if( changeColorOn == ChangeColorOn.UIColorTweenManager ) { color_UIColorTweenManager.Play( UITweener.TweenValue.Show, changeToColor, colorTweenSpeed, colorTweenDelay, colorEaseType, _event ); } } else if( changeColorOn == ChangeColorOn.UIColorAnimation ) { if( color_UIColorAnimation.colorsToAnimateTo == null ) { color_UIColorAnimation.colorsToAnimateTo = new Color[] { }; } if( color_UIColorAnimation.animationSpeeds == null ) { color_UIColorAnimation.animationSpeeds = new float[] { }; } if( color_UIColorAnimation.easeTypes == null ) { color_UIColorAnimation.easeTypes = new EaseCurve.EaseType[] { }; } if( color_UIColorAnimation.delays == null ) { color_UIColorAnimation.delays = new float[] { }; } color_UIColorAnimation.colorsToAnimateTo = changeToColorArray; color_UIColorAnimation.animationSpeeds = changeColorAnimationSpeeds; color_UIColorAnimation.easeTypes = changeColorAnimationEaseTypes; color_UIColorAnimation.delays = changeColorAnimationDelays; if( playColorAnimation ) { color_UIColorAnimation.Play(); } if( colorSettingsSetToChange() && onChangeColor != null ) { onChangeColor.Invoke(); } } } } //END CallChangeColorEvent