internal override void Deserialize(ModelBase model) { var sprite = (GMSpriteModel)model; Name = sprite.name; BboxMode = sprite.bboxmode; CollisionKind = sprite.colkind; SeparateMasks = sprite.sepmasks; Type = sprite.type; PremultiplyAlpha = sprite.premultiplyAlpha; EdgeFiltering = sprite.edgeFiltering; OriginX = sprite.xorig; OriginY = sprite.yorig; CollisonTolerance = sprite.coltolerance; SwfPrecision = sprite.swfPrecision; BboxLeft = sprite.bbox_left; BboxRight = sprite.bbox_right; BboxTop = sprite.bbox_top; BboxBottom = sprite.bbox_bottom; HorizontalTile = sprite.HTile; VerticalTile = sprite.VTile; For3D = sprite.For3D; OriginLocked = sprite.originLocked; TextureGroup = null; Width = sprite.width; Height = sprite.height; GridX = sprite.gridX; GridY = sprite.gridY; Layers.Deserialize(sprite.layers); Frames.Deserialize(sprite.frames); PlaybackSpeed = sprite.playbackSpeed; PlaybackSpeedType = sprite.playbackSpeedType; SwatchColors = sprite.swatchColours?.Select(x => new Color(x)).ToList() ?? new List <Color>(); }