summaryrefslogtreecommitdiff
path: root/server/api
diff options
context:
space:
mode:
Diffstat (limited to 'server/api')
-rw-r--r--server/api/game.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/server/api/game.go b/server/api/game.go
index d830d71..e6235b9 100644
--- a/server/api/game.go
+++ b/server/api/game.go
@@ -1,6 +1,7 @@
package api
import (
+ "fmt"
"net/http"
"sakura/data/cirno"
"sakura/engine"
@@ -66,11 +67,9 @@ func GameConnect(w http.ResponseWriter, r *http.Request) {
func Bind(g *engine.Game, w http.ResponseWriter, r *http.Request) (*engine.Player, *http.Cookie) {
cookie, err := r.Cookie("User")
- newUser := false
var id string
if err != nil {
- newUser = true
uid := uuid.NewV7()
id = uid.String()
cookie = &http.Cookie{
@@ -88,10 +87,10 @@ func Bind(g *engine.Game, w http.ResponseWriter, r *http.Request) (*engine.Playe
}
switch {
- case newUser && g.Yin.Cookie == "":
+ case g.Yin.Cookie == "" && g.Yang.Cookie != id:
g.Yin.Cookie = id
return g.Yin, cookie
- case newUser && g.Yang.Cookie == "":
+ case g.Yang.Cookie == "" && g.Yin.Cookie != id:
g.Yang.Cookie = id
return g.Yang, cookie
case g.Yang.Cookie == id:
@@ -106,7 +105,11 @@ func Bind(g *engine.Game, w http.ResponseWriter, r *http.Request) (*engine.Playe
func Update(id uuid.UUID, g *engine.Game) {
for _, c := range connections[id] {
- _ = c.Socket.WriteJSON(g)
+ err := c.Socket.WriteJSON(g)
+ if err != nil {
+ fmt.Printf("%v\n", err)
+ }
+
}
}