46 lines
1.2 KiB
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))
|
|
}
|
|
} |