OurSonic.TilePaletteAnimationFrame.SetPalette C# (CSharp) Method

SetPalette() public method

public SetPalette ( ) : void
return void
        public void SetPalette()
        { 
            var levelPalette = Animation.Manager.SonicManager.SonicLevel.Palette;
            clonePalette(levelPalette);

            var pal = Animation.AnimatedPaletteData;

            for (int index = 0; index < pal.Pieces.Count; index++)
            {
                var palettePiece = pal.Pieces[index];




                int colorIndex = FrameIndex + (pal.Pieces.Count * index)/*+ 0 + (palettePiece.PaletteMultiply)*/;
                //todo ^^^this calc is suspected to be wrong
                //could be: int colorIndex = FrameIndex * index + (pal.Pieces.Count)/*+ 0 + (palettePiece.PaletteMultiply)*/;



                int replaceIndex = (palettePiece.PaletteOffset) / 2;

                var color = pal.Palette[colorIndex];
                if (color != null)
                    levelPalette[palettePiece.PaletteIndex][replaceIndex] = color;
                else//bug, shouldnt hit
                    levelPalette[palettePiece.PaletteIndex][replaceIndex] = "#000000";
            }


        }