[csharp] Port of commit a898aed2: Added pingpongReverse to SequenceTimeline.

This commit is contained in:
Harald Csaszar 2021-12-13 20:34:21 +01:00
parent a898aed293
commit 6f59a35f0d

View File

@ -2665,17 +2665,24 @@ namespace Spine {
case SequenceMode.Loop: case SequenceMode.Loop:
index %= count; index %= count;
break; break;
case SequenceMode.Pingpong: case SequenceMode.Pingpong: {
int n = (count << 1) - 2; int n = (count << 1) - 2;
index %= n; index %= n;
if (index >= count) index = n - index; if (index >= count) index = n - index;
break; break;
}
case SequenceMode.OnceReverse: case SequenceMode.OnceReverse:
index = Math.Max(count - 1 - index, 0); index = Math.Max(count - 1 - index, 0);
break; break;
case SequenceMode.LoopReverse: case SequenceMode.LoopReverse:
index = count - 1 - (index % count); index = count - 1 - (index % count);
break; break;
case SequenceMode.PingpongReverse: {
int n = (count << 1) - 2;
index = (index + count - 1) % n;
if (index >= count) index = n - index;
break;
} // end case
} }
} }
slot.SequenceIndex = index; slot.SequenceIndex = index;