Feat: add exit room
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"golias/utils"
|
||||
"time"
|
||||
|
||||
"github.com/rs/xid"
|
||||
@ -200,3 +201,19 @@ type FullInfo struct {
|
||||
Room *Room
|
||||
List []*Room
|
||||
}
|
||||
|
||||
func (f *FullInfo) ExitRoom() *Room {
|
||||
f.Room.PlayerList = utils.RemoveFromSlice(f.State.Username, f.Room.PlayerList)
|
||||
f.Room.RedTeam.Guessers = utils.RemoveFromSlice(f.State.Username, f.Room.RedTeam.Guessers)
|
||||
f.Room.BlueTeam.Guessers = utils.RemoveFromSlice(f.State.Username, f.Room.BlueTeam.Guessers)
|
||||
if f.Room.RedTeam.Mime == f.State.Username {
|
||||
f.Room.RedTeam.Mime = ""
|
||||
}
|
||||
if f.Room.BlueTeam.Mime == f.State.Username {
|
||||
f.Room.BlueTeam.Mime = ""
|
||||
}
|
||||
f.State.ExitRoom()
|
||||
resp := f.Room
|
||||
f.Room = nil
|
||||
return resp
|
||||
}
|
||||
|
@ -47,6 +47,12 @@ type UserState struct {
|
||||
Role UserRole
|
||||
}
|
||||
|
||||
func (u *UserState) ExitRoom() {
|
||||
u.RoomID = ""
|
||||
u.Team = UserTeamNone
|
||||
u.Role = UserRoleNone
|
||||
}
|
||||
|
||||
func MakeTestState(creatorName string) *FullInfo {
|
||||
cards := []WordCard{
|
||||
{Word: "hamster", Color: "blue"},
|
||||
|
Reference in New Issue
Block a user