Skip to content
Snippets Groups Projects
Verified Commit 399b2af4 authored by v-lafeychine's avatar v-lafeychine
Browse files

Engine: Add early Sprite management

parent 0f8f1fb9
No related branches found
No related tags found
1 merge request!22Resolve "Refactor: GameEngine"
Pipeline #9939 failed with stage
in 1 minute and 40 seconds
package Engine.Objects
import Engine.Components.{Component, Renderer}
import SFML.Graphics.{FloatRect, IntRect, RenderWindow, Sprite, Texture}
import SFML.System.{Vector2i, Vector2f, vectorIntToFloat}
class Sprite(texture: Texture) extends Renderer:
private val sprite = SFML.Graphics.Sprite(texture)
private var _bounds = FloatRect()
var rect: Option[Vector2i] = None
def bounds = _bounds
def draw(window: RenderWindow) =
_bounds := sprite.getGlobalBounds()
if (rect.isDefined) then
sprite.setTextureRect(IntRect(Vector2i(0, 0), rect.get))
sprite.setPosition(gameObject.pos)
sprite.setScale(Vector2f(gameObject.scale, gameObject.scale))
sprite.setColor(color)
window.draw(sprite)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment