Skip to content
Snippets Groups Projects

Resolve "make the players stand before countdown"

Merged Helena Steine Tysland requested to merge 41-make-the-players-stand-before-countdown into master
5 files
+ 14536
38
Compare changes
  • Side-by-side
  • Inline
Files
5
@@ -2,45 +2,80 @@ package tdt4240.netrunner.view.controllers
@@ -2,45 +2,80 @@ package tdt4240.netrunner.view.controllers
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.graphics.Color
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.game.GameController
import tdt4240.netrunner.model.game.EcsController
import tdt4240.netrunner.model.game.EcsController
import tdt4240.netrunner.model.game.EcsEngine
import tdt4240.netrunner.model.game.EcsEngine
import tdt4240.netrunner.model.game.components.dynamic.PositionComponent
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.DimensionComponent
import tdt4240.netrunner.model.game.components.living.PlayerComponent
import tdt4240.netrunner.model.game.components.living.PlayerComponent
class PlayerRenderer(val gController: GameController, engine: EcsEngine) : EcsController(engine) {
class PlayerRenderer(val gController: GameController, engine: EcsEngine) : EcsController(engine) {
 
override fun render() {
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)
val players = super.ecs.getEntitiesByComponent(PlayerComponent::class.java)
for (player in players) {
for (player in players) {
 
gController.game.batch.begin()
player.getComponent(PositionComponent::class.java)!!.also { pos ->
player.getComponent(PositionComponent::class.java)!!.also { pos ->
player.getComponent(PlayerComponent::class.java).also {playerComponent ->
player.getComponent(PlayerComponent::class.java).also { playerComponent ->
player.getComponent(DimensionComponent::class.java)!!.let { dims ->
player.getComponent(DimensionComponent::class.java)!!.let { dims ->
val color = playerComponent!!.color
player.getComponent(VelocityComponent::class.java)!!.also{velocity ->
gController.game.apply {
val color = playerComponent!!.color
val texture = characterTextures[color]!!
gController.game.apply {
batch.draw(texture.getFrame(),
pos.pos.x,
if (velocity.velocity.x == 0.0.toFloat()){
pos.pos.y,
val standing =
PlayerComponent.PLAYER_WIDTH,
PlayerComponent.PLAYER_HEIGHT
batch.draw(
)
Texture(playerComponent.color.graphicStand),
texture.update(0.75)
pos.pos.x,
val isCurrentPlayer = playerComponent.uid == gController.playerUid
pos.pos.y,
PlayerComponent.PLAYER_WIDTH,
font.color = if (isCurrentPlayer) Color.GREEN else Color.WHITE
PlayerComponent.PLAYER_HEIGHT
)
font.draw(batch, if (isCurrentPlayer) "You" else playerComponent.username,
pos.pos.x + dims.dims.x / 2f,
} else {
pos.pos.y + dims.dims.y - 45f)
 
val texture = characterTextures[color]!!
 
batch.draw(
 
texture.getFrame(),
 
pos.pos.x,
 
pos.pos.y,
 
PlayerComponent.PLAYER_WIDTH,
 
PlayerComponent.PLAYER_HEIGHT
 
)
 
 
texture.update(Gdx.graphics.deltaTime.toDouble())
 
 
 
}
 
val isCurrentPlayer = playerComponent.uid == gController.playerUid
 
 
font.color = if (isCurrentPlayer) Color.GREEN else Color.WHITE
 
 
font.draw(batch, if (isCurrentPlayer) "You" else playerComponent.username,
 
pos.pos.x + dims.dims.x / 2f,
 
pos.pos.y + dims.dims.y - 45f)
 
}
}
}
 
// TODO: render username
}
}
// TODO: render username
}
}
}
gController.game.batch.end() }}}}
}
gController.game.batch.end()
}
}
\ No newline at end of file
Loading