diff --git a/d2core/d2ui/sprite.go b/d2core/d2ui/sprite.go index 7c66e1fd..ba2a369d 100644 --- a/d2core/d2ui/sprite.go +++ b/d2core/d2ui/sprite.go @@ -34,17 +34,25 @@ func (ui *UIManager) NewSprite(animationPath, palettePath string) (*Sprite, erro base := NewBaseWidget(ui) - return &Sprite{ + sprite := &Sprite{ BaseWidget: base, animation: animation, Logger: ui.Logger, - }, nil + } + + sprite.SetVisible(false) + + ui.addWidget(sprite) + + return sprite, nil } // Render renders the sprite on the given surface func (s *Sprite) Render(target d2interface.Surface) { _, frameHeight := s.animation.GetCurrentFrameSize() + s.width, s.height = s.animation.GetCurrentFrameSize() + target.PushTranslation(s.x, s.y-frameHeight) defer target.Pop() @@ -90,11 +98,6 @@ func (s *Sprite) RenderSegmented(target d2interface.Surface, segmentsX, segments } } -// GetSize returns the size of the current frame -func (s *Sprite) GetSize() (width, height int) { - return s.GetCurrentFrameSize() -} - // GetFrameSize gets the Size(width, height) of a indexed frame. func (s *Sprite) GetFrameSize(frameIndex int) (x, y int, err error) { return s.animation.GetFrameSize(frameIndex)