diff --git a/server/src/game/getPlayer.go b/server/src/game/getPlayer.go new file mode 100644 index 0000000..fb13e85 --- /dev/null +++ b/server/src/game/getPlayer.go @@ -0,0 +1,17 @@ +package game + +import ( + "fmt" +) + +func (gm *Game) getPlayerById(id string) (*playerInfo, error) { + gm.mu.Lock() + defer gm.mu.Unlock() + + plInfo := gm.players[id] + if plInfo.id == id { + return &plInfo, nil + } + + return nil, fmt.Errorf("player id \"%s\" not found in game\n", id) +} diff --git a/server/src/game/getQuote.go b/server/src/game/getQuote.go new file mode 100644 index 0000000..7455b39 --- /dev/null +++ b/server/src/game/getQuote.go @@ -0,0 +1,18 @@ +package game + +import ( + "fmt" + "sirlab.de/go/knyt/quote" +) + +func (gm *Game) getQuoteById(id string) (*quote.Quote, error) { + gm.mu.Lock() + defer gm.mu.Unlock() + + quote := gm.quotes[id] + if quote == nil { + return nil, fmt.Errorf("player id \"%s\" not found in game\n", id) + } + + return quote, nil +} diff --git a/server/src/game/setupRound.go b/server/src/game/setupRound.go index 1317860..304a7e3 100644 --- a/server/src/game/setupRound.go +++ b/server/src/game/setupRound.go @@ -1,5 +1,9 @@ package game +import ( + "fmt" +) + func (gm *Game) setupRound() { gm.round = newRound() gm.selectQuote() @@ -16,19 +20,32 @@ func newRound() Round { } func (gm *Game) selectQuote() { + quote, err := gm.getQuoteById("455df6bc-070d-4728-83ab-481ceafa8590") + if err != nil { + fmt.Println(err) + return + } + + sources := []Source{ + gm.getSourceById(quote.GetSourceId()), + } + gm.mu.Lock() defer gm.mu.Unlock() - quote := gm.quotes["455df6bc-070d-4728-83ab-481ceafa8590"] gm.round.quoteId = quote.GetId() - gm.round.sources = []Source{ - gm.getSourceById(quote.GetSourceId()), - } + gm.round.sources = sources } func (gm *Game) getSourceById(id string) Source { + plInfo, err := gm.getPlayerById(id) + if err != nil { + fmt.Println(err) + return Source{} + } + return Source{ id: id, - name: "Herbert", + name: plInfo.name, } }