瀏覽代碼

[libgdx] Disallow creating a timeline with 0 frames.

NathanSweet 6 年之前
父節點
當前提交
eac42ae50a
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java

+ 3 - 0
spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java

@@ -883,6 +883,7 @@ public class Animation {
 		final String[] attachmentNames;
 		final String[] attachmentNames;
 
 
 		public AttachmentTimeline (int frameCount) {
 		public AttachmentTimeline (int frameCount) {
+			if (frameCount <= 0) throw new IllegalArgumentException("frameCount must be > 0: " + frameCount);
 			frames = new float[frameCount];
 			frames = new float[frameCount];
 			attachmentNames = new String[frameCount];
 			attachmentNames = new String[frameCount];
 		}
 		}
@@ -1197,6 +1198,7 @@ public class Animation {
 		private final Event[] events;
 		private final Event[] events;
 
 
 		public EventTimeline (int frameCount) {
 		public EventTimeline (int frameCount) {
+			if (frameCount <= 0) throw new IllegalArgumentException("frameCount must be > 0: " + frameCount);
 			frames = new float[frameCount];
 			frames = new float[frameCount];
 			events = new Event[frameCount];
 			events = new Event[frameCount];
 		}
 		}
@@ -1263,6 +1265,7 @@ public class Animation {
 		private final int[][] drawOrders;
 		private final int[][] drawOrders;
 
 
 		public DrawOrderTimeline (int frameCount) {
 		public DrawOrderTimeline (int frameCount) {
+			if (frameCount <= 0) throw new IllegalArgumentException("frameCount must be > 0: " + frameCount);
 			frames = new float[frameCount];
 			frames = new float[frameCount];
 			drawOrders = new int[frameCount][];
 			drawOrders = new int[frameCount][];
 		}
 		}