Skip to content

Commit 0f9e130

Browse files
committed
Supply functionalities to text delta number.
1 parent 47cb3e1 commit 0f9e130

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

Assets/JCSUnity/Scripts/GUI/JCS_TextDeltaNumber.cs

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)