Files
KnockOutWhist-Web/knockoutwhistweb/app/controllers/HomeController.scala

46 lines
1.2 KiB
Scala

package controllers
import javax.inject.*
import play.api.*
import play.api.mvc.*
import de.knockoutwhist.KnockOutWhist
import de.knockoutwhist.control.ControlHandler
import de.knockoutwhist.ui.tui.TUIMain
/**
* This controller creates an `Action` to handle HTTP requests to the
* application's home page.
*/
@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
private var initial = false
/**
* Create an Action to render an HTML page.
*
* The configuration in the `routes` file means that this method
* will be called when the application receives a `GET` request with
* a path of `/`.
*/
def index(): Action[AnyContent] = {
if (!initial) {
initial = true
ControlHandler.addListener(WebUI)
KnockOutWhist.main(new Array[String](_length = 0))
}
Action { implicit request =>
Ok(views.html.index.apply())
}
}
def ingame(): Action[AnyContent] = {
Action { implicit request =>
Ok(views.html.tui.apply(WebUI.latestOutput))
}
}
def showTUI(): Action[AnyContent] = Action { implicit request =>
Ok(views.html.tui.render(WebUI.latestOutput))
}
}