DEADSOFTWARE

Some mobs refactor
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / misc / utils / SpriteOrigin.kt
1 package ru.deadsoftware.cavedroid.misc.utils
3 import com.badlogic.gdx.graphics.g2d.Sprite
5 /**
6 * An origin of a [com.badlogic.gdx.graphics.g2d.Sprite]
7 *
8 * x and y must be between 0 and 1 in percents from sprite size
9 */
10 data class SpriteOrigin(
11 val x: Float,
12 val y: Float,
13 ) {
15 init {
16 assert(x in 0f..1f)
17 assert(y in 0f..1f)
18 }
20 fun getFlipped(flipX: Boolean, flipY: Boolean): SpriteOrigin {
21 return SpriteOrigin(
22 x = if (flipX) 1 - x else x,
23 y = if (flipY) 1 - y else y,
24 )
25 }
27 fun applyToSprite(sprite: Sprite) {
28 sprite.setOrigin(sprite.width * x, sprite.height * y)
29 }
31 }