/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the gamelift-2015-10-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.GameLift.Model { /// /// Guidelines for use with FlexMatch to match players into games. All matchmaking requests /// must specify a matchmaking configuration. /// public partial class MatchmakingConfiguration { private bool? _acceptanceRequired; private int? _acceptanceTimeoutSeconds; private int? _additionalPlayerCount; private BackfillMode _backfillMode; private string _configurationArn; private DateTime? _creationTime; private string _customEventData; private string _description; private FlexMatchMode _flexMatchMode; private List _gameProperties = new List(); private string _gameSessionData; private List _gameSessionQueueArns = new List(); private string _name; private string _notificationTarget; private int? _requestTimeoutSeconds; private string _ruleSetArn; private string _ruleSetName; /// /// Gets and sets the property AcceptanceRequired. /// /// A flag that indicates whether a match that was created with this configuration must /// be accepted by the matched players. To require acceptance, set to TRUE. When this /// option is enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE /// to indicate when a completed potential match is waiting for player acceptance. /// /// public bool AcceptanceRequired { get { return this._acceptanceRequired.GetValueOrDefault(); } set { this._acceptanceRequired = value; } } // Check to see if AcceptanceRequired property is set internal bool IsSetAcceptanceRequired() { return this._acceptanceRequired.HasValue; } /// /// Gets and sets the property AcceptanceTimeoutSeconds. /// /// The length of time (in seconds) to wait for players to accept a proposed match, if /// acceptance is required. If any player rejects the match or fails to accept before /// the timeout, the ticket continues to look for an acceptable match. /// /// [AWSProperty(Min=1, Max=600)] public int AcceptanceTimeoutSeconds { get { return this._acceptanceTimeoutSeconds.GetValueOrDefault(); } set { this._acceptanceTimeoutSeconds = value; } } // Check to see if AcceptanceTimeoutSeconds property is set internal bool IsSetAcceptanceTimeoutSeconds() { return this._acceptanceTimeoutSeconds.HasValue; } /// /// Gets and sets the property AdditionalPlayerCount. /// /// The number of player slots in a match to keep open for future players. For example, /// if the configuration's rule set specifies a match for a single 10-person team, and /// the additional player count is set to 2, 10 players will be selected for the match /// and 2 more player slots will be open for future players. This parameter is not used /// when FlexMatchMode is set to STANDALONE. /// /// [AWSProperty(Min=0)] public int AdditionalPlayerCount { get { return this._additionalPlayerCount.GetValueOrDefault(); } set { this._additionalPlayerCount = value; } } // Check to see if AdditionalPlayerCount property is set internal bool IsSetAdditionalPlayerCount() { return this._additionalPlayerCount.HasValue; } /// /// Gets and sets the property BackfillMode. /// /// The method used to backfill game sessions created with this matchmaking configuration. /// MANUAL indicates that the game makes backfill requests or does not use the match backfill /// feature. AUTOMATIC indicates that GameLift creates backfill requests whenever a game /// session has one or more open slots. Learn more about manual and automatic backfill /// in Backfill /// existing games with FlexMatch. Automatic backfill is not available when FlexMatchMode /// is set to STANDALONE. /// /// public BackfillMode BackfillMode { get { return this._backfillMode; } set { this._backfillMode = value; } } // Check to see if BackfillMode property is set internal bool IsSetBackfillMode() { return this._backfillMode != null; } /// /// Gets and sets the property ConfigurationArn. /// /// The Amazon Resource Name (ARN) /// that is assigned to a Amazon GameLift matchmaking configuration resource and uniquely /// identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking /// configuration name>. In a Amazon GameLift configuration ARN, the resource /// ID matches the Name value. /// /// public string ConfigurationArn { get { return this._configurationArn; } set { this._configurationArn = value; } } // Check to see if ConfigurationArn property is set internal bool IsSetConfigurationArn() { return this._configurationArn != null; } /// /// Gets and sets the property CreationTime. /// /// A time stamp indicating when this data object was created. Format is a number expressed /// in Unix time as milliseconds (for example "1469498468.057"). /// /// public DateTime CreationTime { get { return this._creationTime.GetValueOrDefault(); } set { this._creationTime = value; } } // Check to see if CreationTime property is set internal bool IsSetCreationTime() { return this._creationTime.HasValue; } /// /// Gets and sets the property CustomEventData. /// /// Information to attach to all events related to the matchmaking configuration. /// /// [AWSProperty(Min=0, Max=256)] public string CustomEventData { get { return this._customEventData; } set { this._customEventData = value; } } // Check to see if CustomEventData property is set internal bool IsSetCustomEventData() { return this._customEventData != null; } /// /// Gets and sets the property Description. /// /// A descriptive label that is associated with matchmaking configuration. /// /// [AWSProperty(Min=1, Max=1024)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property FlexMatchMode. /// /// Indicates whether this matchmaking configuration is being used with Amazon GameLift /// hosting or as a standalone matchmaking solution. /// ///
  • /// /// STANDALONE - FlexMatch forms matches and returns match information, including /// players and team assignments, in a /// MatchmakingSucceeded event. /// ///
  • /// /// WITH_QUEUE - FlexMatch forms matches and uses the specified Amazon GameLift /// queue to start a game session for the match. /// ///
///
public FlexMatchMode FlexMatchMode { get { return this._flexMatchMode; } set { this._flexMatchMode = value; } } // Check to see if FlexMatchMode property is set internal bool IsSetFlexMatchMode() { return this._flexMatchMode != null; } /// /// Gets and sets the property GameProperties. /// /// A set of custom properties for a game session, formatted as key:value pairs. These /// properties are passed to a game server process with a request to start a new game /// session (see Start /// a Game Session). This information is added to the new GameSession /// object that is created for a successful match. This parameter is not used when FlexMatchMode /// is set to STANDALONE. /// /// [AWSProperty(Max=16)] public List GameProperties { get { return this._gameProperties; } set { this._gameProperties = value; } } // Check to see if GameProperties property is set internal bool IsSetGameProperties() { return this._gameProperties != null && this._gameProperties.Count > 0; } /// /// Gets and sets the property GameSessionData. /// /// A set of custom game session properties, formatted as a single string value. This /// data is passed to a game server process with a request to start a new game session /// (see Start /// a Game Session). This information is added to the new GameSession /// object that is created for a successful match. This parameter is not used when FlexMatchMode /// is set to STANDALONE. /// /// [AWSProperty(Min=1, Max=4096)] public string GameSessionData { get { return this._gameSessionData; } set { this._gameSessionData = value; } } // Check to see if GameSessionData property is set internal bool IsSetGameSessionData() { return this._gameSessionData != null; } /// /// Gets and sets the property GameSessionQueueArns. /// /// The Amazon Resource Name (ARN) /// that is assigned to a Amazon GameLift game session queue resource and uniquely identifies /// it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue /// name>. Queues can be located in any Region. Queues are used to start new /// Amazon GameLift-hosted game sessions for matches that are created with this matchmaking /// configuration. This property is not set when FlexMatchMode is set to /// STANDALONE. /// /// public List GameSessionQueueArns { get { return this._gameSessionQueueArns; } set { this._gameSessionQueueArns = value; } } // Check to see if GameSessionQueueArns property is set internal bool IsSetGameSessionQueueArns() { return this._gameSessionQueueArns != null && this._gameSessionQueueArns.Count > 0; } /// /// Gets and sets the property Name. /// /// A unique identifier for the matchmaking configuration. This name is used to identify /// the configuration associated with a matchmaking request or ticket. /// /// [AWSProperty(Max=128)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property NotificationTarget. /// /// An SNS topic ARN that is set up to receive matchmaking notifications. /// /// [AWSProperty(Min=0, Max=300)] public string NotificationTarget { get { return this._notificationTarget; } set { this._notificationTarget = value; } } // Check to see if NotificationTarget property is set internal bool IsSetNotificationTarget() { return this._notificationTarget != null; } /// /// Gets and sets the property RequestTimeoutSeconds. /// /// The maximum duration, in seconds, that a matchmaking ticket can remain in process /// before timing out. Requests that fail due to timing out can be resubmitted as needed. /// /// [AWSProperty(Min=1, Max=43200)] public int RequestTimeoutSeconds { get { return this._requestTimeoutSeconds.GetValueOrDefault(); } set { this._requestTimeoutSeconds = value; } } // Check to see if RequestTimeoutSeconds property is set internal bool IsSetRequestTimeoutSeconds() { return this._requestTimeoutSeconds.HasValue; } /// /// Gets and sets the property RuleSetArn. /// /// The Amazon Resource Name (ARN) /// associated with the GameLift matchmaking rule set resource that this configuration /// uses. /// /// public string RuleSetArn { get { return this._ruleSetArn; } set { this._ruleSetArn = value; } } // Check to see if RuleSetArn property is set internal bool IsSetRuleSetArn() { return this._ruleSetArn != null; } /// /// Gets and sets the property RuleSetName. /// /// A unique identifier for the matchmaking rule set to use with this configuration. A /// matchmaking configuration can only use rule sets that are defined in the same Region. /// /// [AWSProperty(Max=128)] public string RuleSetName { get { return this._ruleSetName; } set { this._ruleSetName = value; } } // Check to see if RuleSetName property is set internal bool IsSetRuleSetName() { return this._ruleSetName != null; } } }