Skip to content
Snippets Groups Projects
Commit adca0d31 authored by Helena Steine Tysland's avatar Helena Steine Tysland
Browse files

Merge branch '41-make-the-players-stand-before-countdown' into 'master'

Resolve "make the players stand before countdown"

Closes #41

See merge request !12
parents fef78ec8 ac0dae72
No related branches found
No related tags found
1 merge request!12Resolve "make the players stand before countdown"
Pipeline #218916 failed
......@@ -62,14 +62,14 @@ class GameScreen(private val game: Netrunner, private val controller: GameContro
dispose()
}
})
Client.sock.on("counter") { it ->
if (it.isEmpty()) return@on
if (it[0] == "0") {
label.setText("")}
else
else {
label.setText(it[0].toString())
}
}}
val table = Table()
table.setFillParent(true)
......
......@@ -2,31 +2,67 @@ package tdt4240.netrunner.view.controllers
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.scenes.scene2d.ui.Label
import tdt4240.netrunner.game.Client
import tdt4240.netrunner.game.GameController
import tdt4240.netrunner.model.game.EcsController
import tdt4240.netrunner.model.game.EcsEngine
import tdt4240.netrunner.model.game.components.dynamic.PositionComponent
import tdt4240.netrunner.model.game.components.dynamic.VelocityComponent
import tdt4240.netrunner.model.game.components.living.DimensionComponent
import tdt4240.netrunner.model.game.components.living.PlayerComponent
class PlayerRenderer(val gController: GameController, engine: EcsEngine) : EcsController(engine) {
override fun render() {
gController.game.batch.begin()
val labelStyle = Label.LabelStyle()
labelStyle.font = gController.game.skin.getFont("default-font")
labelStyle.fontColor = Color.WHITE
val label = Label(" ", labelStyle)
label.setFontScale(5F,5F)
label.setPosition(20f,20f)
//gController.stage.addActor(label)
val players = super.ecs.getEntitiesByComponent(PlayerComponent::class.java)
for (player in players) {
gController.game.batch.begin()
player.getComponent(PositionComponent::class.java)!!.also { pos ->
player.getComponent(PlayerComponent::class.java).also { playerComponent ->
player.getComponent(DimensionComponent::class.java)!!.let { dims ->
player.getComponent(VelocityComponent::class.java)!!.also{velocity ->
val color = playerComponent!!.color
gController.game.apply {
if (velocity.velocity.x == 0.0.toFloat()){
val standing =
batch.draw(
Texture(playerComponent.color.graphicStand),
pos.pos.x,
pos.pos.y,
PlayerComponent.PLAYER_WIDTH,
PlayerComponent.PLAYER_HEIGHT
)
} else {
val texture = characterTextures[color]!!
batch.draw(texture.getFrame(),
batch.draw(
texture.getFrame(),
pos.pos.x,
pos.pos.y,
PlayerComponent.PLAYER_WIDTH,
PlayerComponent.PLAYER_HEIGHT
)
texture.update(0.75)
texture.update(Gdx.graphics.deltaTime.toDouble())
}
val isCurrentPlayer = playerComponent.uid == gController.playerUid
font.color = if (isCurrentPlayer) Color.GREEN else Color.WHITE
......@@ -39,8 +75,7 @@ class PlayerRenderer(val gController: GameController, engine: EcsEngine) : EcsCo
// TODO: render username
}
}
}
gController.game.batch.end()
}
gController.game.batch.end() }}}}
}
\ No newline at end of file
......@@ -30,7 +30,7 @@ object TextureRepository {
init {
for (color in PlayerColor.values()) {
runningCharacterBitmaps[color] = Texture(Gdx.files.internal(color.graphic))
runningCharacterBitmaps[color] = Texture(Gdx.files.internal(color.graphicRun))
}
}
......
package tdt4240.netrunner.model.game.data
enum class PlayerColor(val graphic: String, val uiRepresentation: String) {
GREEN("char_green_run.png","Green"),
BLUE("char_blue_run.png","Blue"),
RED("char_red_run.png","Red"),
YELLOW("char_yellow_run.png", "Yellow");
enum class PlayerColor(val graphicStand: String, val graphicRun: String, val uiRepresentation: String) {
GREEN("char_green_stand.png", "char_green_run.png","Green"),
BLUE("char_blue_stand.png","char_blue_run.png","Blue"),
RED("char_red_stand.png","char_red_run.png","Red"),
YELLOW("char_yellow_stand.png","char_yellow_run.png", "Yellow");
companion object {
val uiRepresentations by lazy {
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment