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); }
private void WriteGetter(GeneratorDecorator source, GeneratePropertyEventArgs args) { if (args != null) { args.WriteTabs(); args.WriteSingleLine(true, "TotalPlayTime"); } }
private static void WriteSetter(GeneratorDecorator source, GeneratePropertyEventArgs args) { if (args != null) { args.WriteTabs(); args.WriteSingleLine(false, "SetValue(value, Settings, AppVersion)"); } }
private static void WriteGetter(GeneratorDecorator source, GeneratePropertyEventArgs args) { if (args != null) { args.WriteTabs(); args.WriteSingleLine(true, "Value"); } }
protected void WriteCodeForSetter(GeneratePropertyEventArgs args, StringBuilder builder, AccessModifier defaultScope) { builder.Clear(); // Start set if (SetterScope != defaultScope) { AppendScopeToStringBuilder(builder, SetterScope); } builder.Append("set"); args.numTabs = GameSettingsGenerator.WriteStartEncapsulation(args.writer, args.numTabs, builder.ToString()); // Write instance SetterCode?.Invoke(this, args); // End the property args.numTabs = GameSettingsGenerator.WriteEndEncapsulation(args.writer, args.numTabs); }