// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 namespace AWS.GameKit.Editor.Models { /// /// A string-based feature setting.

/// /// This is intended for use with the AWS GameKit C++ SDK, which treats all feature settings as strings. ///
public interface IFeatureSetting { /// /// The setting's variable name in the feature's CloudFormation parameters.yml file.

/// /// Feature settings are marked in parameters.yml files by a placeholder that looks like: {{AWSGAMEKIT::VARS::my_variable}}, /// where my_variable is specified by VariableName.

/// /// VariableName should be used when calling:
/// - FeatureResourceManager.SetFeatureVariable(..., varName=MySetting.VariableName, ...)
/// - FeatureResourceManager.SetFeatureVariableIfUnset(..., varName=MySetting.VariableName, ...)
/// - As keys in the dictionary response from FeatureResourceManager.GetFeatureVariables() ///
public string VariableName { get; } /// /// The current value of this setting represented as a string. /// public string CurrentValueString { get; } /// /// The default value of this setting represented as a string. /// public string DefaultValueString { get; } /// /// Set the current value of this setting to the provided string. /// /// The new current value. public void SetCurrentValueFromString(string value); } }