public SpriteSheetContext(String textureName, uint numRows, uint numColumns)
 {
     this._internalTexture = new TextureContext(textureName);
     this.Row               = new Int();
     this.Column            = new Int();
     this.NumColumns        = (int)numColumns;
     this.NumRows           = (int)numRows;
     this.SourceTextureRect = null;
 }
        private SpriteSheetContext(String textureName, int numRows, int numColumns, int sourceTop, int sourceLeft, int frameWidth, int frameHeight)
        {
            this._internalTexture = new TextureContext(textureName);
            this.Row        = new Int();
            this.Column     = new Int();
            this.NumColumns = numColumns;
            this.NumRows    = numRows;

            var width  = new Int(frameWidth);
            var height = new Int(frameHeight);
            var top    = new OffsetInt(new ScalingInt(height, this.Row), sourceTop);
            var left   = new OffsetInt(new ScalingInt(width, this.Column), sourceLeft);

            this.SourceTextureRect = new IntRect(top, left, width, height);
        }