-
v-lafeychine authoredVerified289463ec
package Scene.Battle
import scalanative.unsafe.*
import scalanative.unsigned.*
import Component.*
import Scene.*
import SFML.Config.*
import SFML.SFMLGraphics.*
import SFML.SFMLSystem.*
import SFML.SFMLWindow.*
object BattleScene extends Scene:
def load() =
val rect = stackalloc[sfIntRect]()
rect._1 = 0
rect._2 = 0
rect._3 = 256
rect._4 = 144
val background = Sprite(sfTexture_createFromFile(c"src/main/resources/battle/background.png", rect))
background.scale = 4
val tiles = Sprite(sfTexture_createFromFile(c"src/main/resources/battle/tiles.png", rect))
tiles.scale = 4
rect._3 = 120
rect._4 = 41
val bar = Sprite(sfTexture_createFromFile(c"src/main/resources/battle/bar.png", rect))
bar.scale = 4
bar.pos = (544, 390)
rect._3 = 120
rect._4 = 30
val barEnemy = Sprite(sfTexture_createFromFile(c"src/main/resources/battle/bar_enemy.png", rect))
barEnemy.scale = 4
barEnemy.pos = (0, 90)
rect._3 = 48
rect._4 = 7
val healthBar = Sprite(sfTexture_createFromFile(c"src/main/resources/battle/health_bar_green.png", rect))
healthBar.scale = 4
healthBar.pos = (792, 466)
healthBar.rect = Some(20, 7)
val healthBarEnemy = Sprite(sfTexture_createFromFile(c"src/main/resources/battle/health_bar_green.png", rect))
healthBarEnemy.scale = 4
healthBarEnemy.pos = (200, 166)
healthBarEnemy.rect = Some(30, 7)
rect._3 = 256
rect._4 = 48
val textbox = Sprite(sfTexture_createFromFile(c"src/main/resources/textbox.png", rect))
textbox.scale = 4
textbox.pos = (0, 576)
rect._3 = 64
rect._4 = 64
val pokemon = Sprite(sfTexture_createFromFile(c"src/main/resources/pokemons/back/151.png", rect))
pokemon.scale = 4
pokemon.pos = (130, 320)
rect._3 = 64
rect._4 = 64
val pokemonEnemy = Sprite(sfTexture_createFromFile(c"src/main/resources/pokemons/front/150.png", rect))
pokemonEnemy.scale = 4
pokemonEnemy.pos = (640, 135)
rect._3 = 78
rect._4 = 46
val fightBox = FightBox(sfTexture_createFromFile(c"src/main/resources/battle/fight_box.png", rect))
fightBox.scale = 3
fightBox.pos = (690, 603)
val font = sfFont_createFromFile(c"src/main/resources/font.ttf")
val name = Text(font)
name.msg = c"Mew"
name.color = 0.toUByte
name.pos = (624, 415)
val nameEnemy = Text(font)
nameEnemy.msg = c"Mewtwo"
nameEnemy.color = 0.toUByte
nameEnemy.pos = (35, 115)
val health = Text(font)
health.msg = c"50"
health.color = 0.toUByte
health.pos = (800, 495)
val maxHealth = Text(font)
maxHealth.msg = c"76"
maxHealth.color = 0.toUByte
maxHealth.pos = (920, 495)
val fight = Text(font)
fight.msg = c"Fight"
fight.color = 255.toUByte
fight.pos = (745, 660)
this.addComponent(background)
this.addComponent(tiles)
this.addComponent(bar)
this.addComponent(healthBar)
this.addComponent(barEnemy)
this.addComponent(healthBarEnemy)
this.addComponent(textbox)
this.addComponent(pokemon)
this.addComponent(pokemonEnemy)
this.addComponent(fightBox)
this.addComponent(name)
this.addComponent(nameEnemy)
this.addComponent(health)
this.addComponent(maxHealth)
this.addComponent(fight)