func (game *Game) PlayerByName(name string) gamerules.IPlayerClient { result := make(chan gamerules.IPlayerClient) game.enqueue(func(_ *Game) { player, ok := game.playerNames[name] if ok { result <- player.Client() } else { result <- nil } close(result) }) return <-result }
func (game *Game) PlayerByEntityId(id EntityId) gamerules.IPlayerClient { result := make(chan gamerules.IPlayerClient) game.enqueue(func(_ *Game) { player, ok := game.players[id] if ok { result <- player.Client() } else { result <- nil } close(result) }) return <-result }