Ver Fonte

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

Harald Csaszar há 3 anos atrás
pai
commit
6f59a35f0d
1 ficheiros alterados com 8 adições e 1 exclusões
  1. 8 1
      spine-csharp/src/Animation.cs

+ 8 - 1
spine-csharp/src/Animation.cs

@@ -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;