public void Init() { var pal = AnimatedPaletteData; if (pal.SkipIndex == 0) return; if (pal.TotalLength == 0) return; //when to move to the next frame for (int j = 0; j <= pal.TotalLength; j += pal.SkipIndex) { int frameIndex = j / pal.SkipIndex; if (Frames[frameIndex] == null) { Frames[frameIndex] = new TilePaletteAnimationFrame(frameIndex, this); } } }