1
0
mirror of https://github.com/Cardidi/dotween-upm-fork.git synced 2025-12-20 17:26:03 +08:00

Rich text string tweening complete for all modes, scrambling/relative included. Still requires work to allow nested tags

This commit is contained in:
Daniele Giardini 2015-03-29 12:49:38 +02:00
parent 38d7a1b04c
commit c9c985041d
4 changed files with 42 additions and 40 deletions

View File

@ -87,15 +87,16 @@ namespace DG.Tweening.Plugins
if (isRelative) {
_Buffer.Append(startValue);
if (options.scrambleMode != ScrambleMode.None) {
setter(_Buffer.Append(changeValue, 0, len).AppendScrambledChars(changeValueLen - len, ScrambledCharsToUse(options)).ToString());
setter(Append(changeValue, 0, len, options.richTextEnabled).AppendScrambledChars(changeValueLen - len, ScrambledCharsToUse(options)).ToString());
return;
}
setter(_Buffer.Append(changeValue, 0, len).ToString());
setter(Append(changeValue, 0, len, options.richTextEnabled).ToString());
return;
}
if (options.scrambleMode != ScrambleMode.None) {
setter(_Buffer.Append(changeValue, 0, len).AppendScrambledChars(changeValueLen - len, ScrambledCharsToUse(options)).ToString());
// setter(_Buffer.Append(changeValue, 0, len).AppendScrambledChars(changeValueLen - len, ScrambledCharsToUse(options)).ToString());
setter(Append(changeValue, 0, len, options.richTextEnabled).AppendScrambledChars(changeValueLen - len, ScrambledCharsToUse(options)).ToString());
return;
}
@ -112,11 +113,11 @@ namespace DG.Tweening.Plugins
}
// Manages eventual rich text, if enabled, readding tags to the given string and closing them when necessary
void Append(string value, int startIndex, int length, bool richTextEnabled)
StringBuilder Append(string value, int startIndex, int length, bool richTextEnabled)
{
if (!richTextEnabled) {
_Buffer.Append(value, startIndex, length);
return;
return _Buffer;
}
const string tagMatch = @"<.*?(>)";
@ -158,6 +159,7 @@ namespace DG.Tweening.Plugins
Match m = Regex.Match(next, closeTagMatch);
if (m.Success) _Buffer.Append(m.Value);
}
return _Buffer;
}
char[] ScrambledCharsToUse(StringOptions options)

View File

@ -1906,6 +1906,41 @@
What axis to constrain in case of Vector tweens
</summary>
</member>
<member name="T:DG.Tweening.ScrambleMode">
<summary>
Type of scramble to apply to string tweens
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.None">
<summary>
No scrambling of characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.All">
<summary>
A-Z + a-z + 0-9 characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.Uppercase">
<summary>
A-Z characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.Lowercase">
<summary>
a-z characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.Numerals">
<summary>
0-9 characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.Custom">
<summary>
Custom characters
</summary>
</member>
<member name="T:DG.Tweening.Plugins.Core.PathCore.ControlPoint">
<summary>
Path control point
@ -1943,40 +1978,5 @@
Public only so custom shortcuts can access some of these methods
</summary>
</member>
<member name="T:DG.Tweening.ScrambleMode">
<summary>
Type of scramble to apply to string tweens
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.None">
<summary>
No scrambling of characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.All">
<summary>
A-Z + a-z + 0-9 characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.Uppercase">
<summary>
A-Z characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.Lowercase">
<summary>
a-z characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.Numerals">
<summary>
0-9 characters
</summary>
</member>
<member name="F:DG.Tweening.ScrambleMode.Custom">
<summary>
Custom characters
</summary>
</member>
</members>
</doc>

Binary file not shown.