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())
|
|
}
|