Example #1
0
 protected override void BeforeLiveGeneration()
 {
     if (!(string.IsNullOrEmpty(decorated.@namespace) || string.IsNullOrWhiteSpace(decorated.@namespace)))
     {
         @namespace = NamespaceGenerator.Namespace([email protected]().LegalMemberName());
     }
     @class = ClassGenerator.Class(
         RootAccessModifier.Public,
         ClassModifier.None,
         decorated.title.LegalMemberName(),
         decorated.inheritance.type);
     @class.AddAttribute(AttributeGenerator.Attribute <IncludeInSettingsAttribute>().AddParameter(true));
     @class.AddAttribute(AttributeGenerator.Attribute <InspectableAttribute>());
     @class.AddInterface(typeof(IUAClass));
     guid = decorated.GetGUID();
 }
Example #2
0
        protected override void AfterLiveGeneration()
        {
            var uaClass = FieldGenerator.Field(AccessModifier.Private, FieldModifier.None, typeof(UAClass), "data").CustomDefault("new UAClass(" + guid.As().Code(false) + ");");

            uaClass.AddAttribute(AttributeGenerator.Attribute <SerializeField>());
            uaClass.AddAttribute(AttributeGenerator.Attribute <InspectableAttribute>());

            var interfaceUAClass = PropertyGenerator.Property(AccessModifier.Public, PropertyModifier.None, typeof(UAClass), "Class", false).SingleStatementGetter(AccessModifier.Public, "data");

            @class.AddField(uaClass);
            @class.AddProperty(interfaceUAClass);

            @namespace?.AddClass(@class);
            var usings = CodeBuilder.Using(@class.Usings()) + "\n\n";

            output = (string.IsNullOrEmpty(decorated.@namespace) || string.IsNullOrWhiteSpace(decorated.@namespace)) ? usings + @class.Generate(0) : usings + @namespace.Generate(0);
        }
Example #3
0
 public FieldGenerator AddAttribute(AttributeGenerator attributeGenerator)
 {
     attributes.Add(attributeGenerator);
     return(this);
 }
Example #4
0
 public StructGenerator AddAttribute(AttributeGenerator generator)
 {
     attributes.Add(generator);
     return(this);
 }
Example #5
0
 public MethodGenerator AddAttribute(AttributeGenerator generator)
 {
     attributes.Add(generator);
     return(this);
 }
Example #6
0
 public InterfaceGenerator AddAttribute(AttributeGenerator generator)
 {
     attributes.Add(generator);
     return(this);
 }
Example #7
0
 /// <summary>
 /// Add an attribute above this class.
 /// </summary>
 public ClassGenerator AddAttribute(AttributeGenerator generator)
 {
     attributes.Add(generator);
     return(this);
 }
Example #8
0
 public PropertyGenerator AddAttribute(AttributeGenerator attributeGenerator)
 {
     attributes.Add(attributeGenerator);
     return(this);
 }