using UnityEngine; #if MM_TEXTMESHPRO using TMPro; #endif namespace MoreMountains.Feedbacks { /// /// This feedback will let you change the text of a target TMP text component /// [AddComponentMenu("")] [FeedbackHelp("This feedback will let you change the text of a target TMP text component")] [FeedbackPath("TextMesh Pro/TMP Text")] public class MMFeedbackTMPText : MMFeedback { /// a static bool used to disable all feedbacks of this type at once public static bool FeedbackTypeAuthorized = true; #if UNITY_EDITOR public override Color FeedbackColor { get { return MMFeedbacksInspectorColors.TMPColor; } } #endif #if MM_TEXTMESHPRO [Header("TextMesh Pro")] /// the target TMP_Text component we want to change the text on [Tooltip("the target TMP_Text component we want to change the text on")] public TMP_Text TargetTMPText; #endif /// the new text to replace the old one with [Tooltip("the new text to replace the old one with")] [TextArea] public string NewText = "Hello World"; /// /// On play we change the text of our target TMPText /// /// /// protected override void CustomPlayFeedback(Vector3 position, float feedbacksIntensity = 1.0f) { if (!Active || !FeedbackTypeAuthorized) { return; } #if MM_TEXTMESHPRO if (TargetTMPText == null) { return; } TargetTMPText.text = NewText; #endif } } }