func handle_client_create_player(ctx frontend.Service, client frontend.Client, m *msg.CreatePlayerReq) { player := ctx.Players().NewPlayer(uint(client.UserInfos().Id), m.Name, m.Breed, m.Gender, m.Colors.First, m.Colors.Second, m.Colors.Third) if inserted, success := ctx.Players().Persist(player); inserted && success { client_send_player_list(ctx, client) } else { client.Send(&msg.CreatePlayerErrorResp{}) } }
func handle_client_player_selection(ctx frontend.Service, client frontend.Client, m *msg.PlayerSelectionReq) { player, ok := ctx.Players().GetById(m.PlayerId) if !ok { client.CloseWith(&msg.PlayerSelectionErrorResp{}) return } client.SetPlayer(player) client.Send(&msg.PlayerSelectionResp{player}) }
func client_send_player_list(ctx frontend.Service, client frontend.Client) { var players []*db.Player var ok bool if players, ok = ctx.Players().GetByOwnerId(uint(client.UserInfos().Id)); !ok { players = make([]*db.Player, 0, 0) } client.Send(&msg.PlayersResp{ ServerId: ctx.Config().ServerId, SubscriptionEnd: client.UserInfos().SubscriptionEnd, Players: players, }) }