namespace etoy { class CSharpVersionConfigGenerater : IGenerater { public void Generate(Context context) { string typeName = "DatabaseVersion"; string fileName = typeName + ".cs"; string directory = context.Option.ClientCodeOutput; string path = Path.Combine(directory, fileName); if (!Directory.Exists(directory)) Directory.CreateDirectory(directory); using CodeWriter writer = new CodeWriter(path); writer.WriteLine("// Generate By EToy"); writer.WriteLine("// Don't Edit It!!"); writer.WriteLine(); writer.Bracket("namespace XGame.Database"); { // class writer.Bracket($"public static class {typeName}"); { writer.WriteLine($"// version {context.Blackboard.Version}"); writer.WriteLine("static long _version = -1;"); writer.WriteLine(); writer.Bracket("public static long Version"); { writer.Bracket("get"); { writer.IfBracket("_version == -1"); { writer.WriteLine($"_version = {context.Blackboard.Version};"); writer.EndBracket(); } writer.WriteLine("return _version;"); writer.EndBracket(); } writer.EndBracket(); } writer.EndBracket(); } writer.EndBracket(); } } } }