/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a player in matchmaking. When starting a matchmaking request, a
* player has a player ID, attributes, and may have latency data. Team information
* is added after a match has been successfully completed.See Also:
* AWS
* API Reference
A unique identifier for a player
*/ inline const Aws::String& GetPlayerId() const{ return m_playerId; } /** *A unique identifier for a player
*/ inline bool PlayerIdHasBeenSet() const { return m_playerIdHasBeenSet; } /** *A unique identifier for a player
*/ inline void SetPlayerId(const Aws::String& value) { m_playerIdHasBeenSet = true; m_playerId = value; } /** *A unique identifier for a player
*/ inline void SetPlayerId(Aws::String&& value) { m_playerIdHasBeenSet = true; m_playerId = std::move(value); } /** *A unique identifier for a player
*/ inline void SetPlayerId(const char* value) { m_playerIdHasBeenSet = true; m_playerId.assign(value); } /** *A unique identifier for a player
*/ inline Player& WithPlayerId(const Aws::String& value) { SetPlayerId(value); return *this;} /** *A unique identifier for a player
*/ inline Player& WithPlayerId(Aws::String&& value) { SetPlayerId(std::move(value)); return *this;} /** *A unique identifier for a player
*/ inline Player& WithPlayerId(const char* value) { SetPlayerId(value); return *this;} /** *A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
A collection of key:value pairs containing player information for use in
* matchmaking. Player attribute keys must match the playerAttributes used
* in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N":
* "23"}, "gameMode": {"S": "deathmatch"}}
.
You can provide up to 10
* PlayerAttributes
.
Name of the team that the player is assigned to in a match. Team names are * defined in a matchmaking rule set.
*/ inline const Aws::String& GetTeam() const{ return m_team; } /** *Name of the team that the player is assigned to in a match. Team names are * defined in a matchmaking rule set.
*/ inline bool TeamHasBeenSet() const { return m_teamHasBeenSet; } /** *Name of the team that the player is assigned to in a match. Team names are * defined in a matchmaking rule set.
*/ inline void SetTeam(const Aws::String& value) { m_teamHasBeenSet = true; m_team = value; } /** *Name of the team that the player is assigned to in a match. Team names are * defined in a matchmaking rule set.
*/ inline void SetTeam(Aws::String&& value) { m_teamHasBeenSet = true; m_team = std::move(value); } /** *Name of the team that the player is assigned to in a match. Team names are * defined in a matchmaking rule set.
*/ inline void SetTeam(const char* value) { m_teamHasBeenSet = true; m_team.assign(value); } /** *Name of the team that the player is assigned to in a match. Team names are * defined in a matchmaking rule set.
*/ inline Player& WithTeam(const Aws::String& value) { SetTeam(value); return *this;} /** *Name of the team that the player is assigned to in a match. Team names are * defined in a matchmaking rule set.
*/ inline Player& WithTeam(Aws::String&& value) { SetTeam(std::move(value)); return *this;} /** *Name of the team that the player is assigned to in a match. Team names are * defined in a matchmaking rule set.
*/ inline Player& WithTeam(const char* value) { SetTeam(value); return *this;} /** *A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to @aws; Regions. If this * property is present, FlexMatch considers placing the match only in Regions for * which latency is reported.
If a matchmaker has a rule that evaluates * player latency, players must report latency in order to be matched. If no * latency is reported in this scenario, FlexMatch assumes that no Regions are * available to the player and the ticket is not matchable.
*/ inline const Aws::MapA set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to @aws; Regions. If this * property is present, FlexMatch considers placing the match only in Regions for * which latency is reported.
If a matchmaker has a rule that evaluates * player latency, players must report latency in order to be matched. If no * latency is reported in this scenario, FlexMatch assumes that no Regions are * available to the player and the ticket is not matchable.
*/ inline bool LatencyInMsHasBeenSet() const { return m_latencyInMsHasBeenSet; } /** *A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to @aws; Regions. If this * property is present, FlexMatch considers placing the match only in Regions for * which latency is reported.
If a matchmaker has a rule that evaluates * player latency, players must report latency in order to be matched. If no * latency is reported in this scenario, FlexMatch assumes that no Regions are * available to the player and the ticket is not matchable.
*/ inline void SetLatencyInMs(const Aws::MapA set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to @aws; Regions. If this * property is present, FlexMatch considers placing the match only in Regions for * which latency is reported.
If a matchmaker has a rule that evaluates * player latency, players must report latency in order to be matched. If no * latency is reported in this scenario, FlexMatch assumes that no Regions are * available to the player and the ticket is not matchable.
*/ inline void SetLatencyInMs(Aws::MapA set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to @aws; Regions. If this * property is present, FlexMatch considers placing the match only in Regions for * which latency is reported.
If a matchmaker has a rule that evaluates * player latency, players must report latency in order to be matched. If no * latency is reported in this scenario, FlexMatch assumes that no Regions are * available to the player and the ticket is not matchable.
*/ inline Player& WithLatencyInMs(const Aws::MapA set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to @aws; Regions. If this * property is present, FlexMatch considers placing the match only in Regions for * which latency is reported.
If a matchmaker has a rule that evaluates * player latency, players must report latency in order to be matched. If no * latency is reported in this scenario, FlexMatch assumes that no Regions are * available to the player and the ticket is not matchable.
*/ inline Player& WithLatencyInMs(Aws::MapA set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to @aws; Regions. If this * property is present, FlexMatch considers placing the match only in Regions for * which latency is reported.
If a matchmaker has a rule that evaluates * player latency, players must report latency in order to be matched. If no * latency is reported in this scenario, FlexMatch assumes that no Regions are * available to the player and the ticket is not matchable.
*/ inline Player& AddLatencyInMs(const Aws::String& key, int value) { m_latencyInMsHasBeenSet = true; m_latencyInMs.emplace(key, value); return *this; } /** *A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to @aws; Regions. If this * property is present, FlexMatch considers placing the match only in Regions for * which latency is reported.
If a matchmaker has a rule that evaluates * player latency, players must report latency in order to be matched. If no * latency is reported in this scenario, FlexMatch assumes that no Regions are * available to the player and the ticket is not matchable.
*/ inline Player& AddLatencyInMs(Aws::String&& key, int value) { m_latencyInMsHasBeenSet = true; m_latencyInMs.emplace(std::move(key), value); return *this; } /** *A set of values, expressed in milliseconds, that indicates the amount of * latency that a player experiences when connected to @aws; Regions. If this * property is present, FlexMatch considers placing the match only in Regions for * which latency is reported.
If a matchmaker has a rule that evaluates * player latency, players must report latency in order to be matched. If no * latency is reported in this scenario, FlexMatch assumes that no Regions are * available to the player and the ticket is not matchable.
*/ inline Player& AddLatencyInMs(const char* key, int value) { m_latencyInMsHasBeenSet = true; m_latencyInMs.emplace(key, value); return *this; } private: Aws::String m_playerId; bool m_playerIdHasBeenSet = false; Aws::Map