public virtual void WriteCodeToAccessSetting(TextWriter writer, int numTabs, int versionArrayIndex)
        {
            StringBuilder  builder = new StringBuilder();
            AccessModifier defaultScope;

            // Start the property
            if ((TooltipDocumentation != null) && (TooltipDocumentation.Length > 0))
            {
                GameSettingsGenerator.WriteTooltipComment(writer, numTabs, TooltipDocumentation);
            }
            numTabs = GameSettingsGenerator.WriteStartEncapsulation(writer, numTabs, GetCodeForPropertyDeclaration(builder, out defaultScope));

            // Check if we should write the getter
            GeneratePropertyEventArgs args = new GeneratePropertyEventArgs(writer, numTabs, GetCodeToInstance(builder, versionArrayIndex, true), versionArrayIndex);

            if (GetterScope != AccessModifier.None)
            {
                WriteCodeForGetter(args, builder, defaultScope);
            }

            // Check if we should write the setter
            if (SetterScope != AccessModifier.None)
            {
                WriteCodeForSetter(args, builder, defaultScope);
            }

            // End the property
            numTabs = GameSettingsGenerator.WriteEndEncapsulation(writer, numTabs);
        }
        public virtual void WriteCodeToAccessSetting(StreamWriter writer, int numTabs, int versionArrayIndex)
        {
            StringBuilder  builder = new StringBuilder();
            AccessModifier defaultScope;

            // Start the property
            if ((TooltipDocumentation != null) && (TooltipDocumentation.Length > 0))
            {
                GameSettingsGenerator.WriteTooltipComment(writer, numTabs, TooltipDocumentation);
            }
            numTabs = GameSettingsGenerator.WriteStartEncapsulation(writer, numTabs, GetCodeForPropertyDeclaration(builder, out defaultScope));

            // Check if we should write the getter
            if ((GetterScope != AccessModifier.None) && (string.IsNullOrEmpty(GetterCode) == false))
            {
                WriteCodeForGetter(writer, numTabs, builder, defaultScope, versionArrayIndex);
            }

            // Check if we should write the setter
            if ((SetterScope != AccessModifier.None) && (string.IsNullOrEmpty(SetterCode) == false))
            {
                WriteCodeForSetter(writer, numTabs, builder, defaultScope, versionArrayIndex);
            }

            // End the property
            numTabs = GameSettingsGenerator.WriteEndEncapsulation(writer, numTabs);
        }