DEADSOFTWARE

Update version script
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / misc / utils / SpriteUtils.kt
1 package ru.deadsoftware.cavedroid.misc.utils
3 import com.badlogic.gdx.graphics.Color
4 import com.badlogic.gdx.graphics.g2d.Sprite
5 import com.badlogic.gdx.graphics.g2d.SpriteBatch
7 /**
8 * Draw sprite at given position rotated by [rotation] degrees
9 */
10 @JvmOverloads
11 fun SpriteBatch.drawSprite(
12 sprite: Sprite,
13 x: Float,
14 y: Float,
15 rotation: Float = 0f,
16 width: Float = sprite.regionWidth.toFloat(),
17 height: Float = sprite.regionHeight.toFloat(),
18 tint: Color? = null,
19 ) {
20 val oldColor = sprite.color
22 sprite.setPosition(x, y)
23 sprite.setSize(width, height)
24 sprite.rotation = rotation
25 tint?.let(sprite::setColor)
27 sprite.draw(this)
29 sprite.setSize(sprite.regionWidth.toFloat(), sprite.regionHeight.toFloat())
30 sprite.rotation = 0f
31 sprite.color = oldColor
32 }
34 fun Sprite.applyOrigin(origin: SpriteOrigin) {
35 origin.applyToSprite(this)
36 }