package main
import (
//"fmt"
"html/template"
"log"
"net/http"
"homnomnom.fr/jdr-server/jdr"
"homnomnom.fr/jdr-server/jdrscript"
//"github.com/gorilla/mux"
"github.com/antlr/antlr4/runtime/Go/antlr"
)
var templates = template.Must(template.ParseGlob("templates/*.html"))
func mainPageHandler(w http.ResponseWriter, r *http.Request) {
err := templates.ExecuteTemplate(w, "login.html", nil)
if err != nil {
log.Println(err)
}
}
func playerPageHandler(w http.ResponseWriter, r *http.Request) {
sheet, err := jdr.ReadCharacterSheet("jdr-desc/wasteland.xml")
if err != nil {
log.Fatal("error: ", err)
}
err = templates.ExecuteTemplate(w, "player.html", map[string]interface{}{
"Script": sheet.Script(),
"Sheet": sheet.Render(),
})
if err != nil {
log.Println(err)
}
}
type jdrScriptListener struct {
*jdrscript.BaseJdrScriptListener
}
func main() {
ParseArguments()
LoadConfig()
/*
r := mux.NewRouter()
r.HandleFunc("/", mainPageHandler)
r.HandleFunc("/player", playerPageHandler)
log.Fatal(http.ListenAndServe(":8080", r))
*/
is := antlr.NewInputStream("1")
lexer := jdrscript.NewJdrScriptLexer(is)
stream := antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel)
p := jdrscript.NewJdrScriptParser(stream)
antlr.ParseTreeWalkerDefault.Walk(&jdrScriptListener{}, p.Start())
}