@@ -75,7 +75,7 @@ public class JCS_TextDeltaNumber
7575
7676 [ Tooltip ( "Target text renderer." ) ]
7777 [ SerializeField ]
78- private Text mText = null ;
78+ private Text mTextContainer = null ;
7979
8080#if TMP_PRO
8181 [ Tooltip ( "Target text renderer." ) ]
@@ -123,7 +123,7 @@ public class JCS_TextDeltaNumber
123123 /* Setter/Getter */
124124 public bool Active { get { return this . mActive ; } }
125125 public float TargetNumber { get { return this . mTargetNumber ; } }
126- public Text text { get { return this . mText ; } set { this . mText = value ; } }
126+ public Text TextContainer { get { return this . mTextContainer ; } set { this . mTextContainer = value ; } }
127127#if TMP_PRO
128128 public TextMeshPro TextMesh { get { return this . mTextMesh ; } set { this . mTextMesh = value ; } }
129129#endif
@@ -163,10 +163,15 @@ private void TestInput()
163163 /// Start the text delta number.
164164 /// </summary>
165165 /// <param name="targetNumber"> Number target to delt to. </param>
166- public void UpdateNumber ( float targetNumber )
166+ /// <param name="anime"> Set the number directly. </param>
167+ public void UpdateNumber ( float targetNumber , bool anime = true )
167168 {
168169 this . mTargetNumber = targetNumber ;
169- mActive = true ;
170+
171+ if ( anime )
172+ mActive = true ;
173+ else
174+ this . mCurrentNumber = targetNumber ;
170175 }
171176
172177 /// <summary>
@@ -189,13 +194,20 @@ private void DoDeltaCurrentScore()
189194 return ;
190195
191196 float additionNumber = ( mRoundPlace == 0.0f ) ? 1.0f : 1.0f / Mathf . Pow ( 10.0f , mRoundPlace ) ;
192- if ( mTargetNumber < mCurrentNumber )
197+
198+ bool wasLarger = ( mTargetNumber < mCurrentNumber ) ;
199+
200+ if ( wasLarger )
193201 additionNumber = JCS_Mathf . ToNegative ( additionNumber ) ;
194202
195203 additionNumber *= mDeltaProduct ;
196204
197205 mCurrentNumber += additionNumber ;
198206
207+ if ( ( wasLarger && mTargetNumber > mCurrentNumber ) ||
208+ ( ! wasLarger && mTargetNumber < mCurrentNumber ) )
209+ mCurrentNumber = mTargetNumber ;
210+
199211 UpdateTextRender ( ) ;
200212
201213 // Reset timer.
@@ -208,7 +220,7 @@ private void DoDeltaCurrentScore()
208220 private void UpdateTextRender ( )
209221 {
210222#if TMP_PRO
211- if ( mText == null && mTextMesh == null )
223+ if ( mTextContainer == null && mTextMesh == null )
212224#else
213225 if ( mText == null )
214226#endif
@@ -227,8 +239,8 @@ private void UpdateTextRender()
227239 + renderNumberString
228240 + PostString ;
229241
230- if ( mText )
231- mText . text = mFullString ;
242+ if ( mTextContainer )
243+ mTextContainer . text = mFullString ;
232244#if TMP_PRO
233245 if ( mTextMesh )
234246 mTextMesh . text = mFullString ;
0 commit comments