ScriptGenerator Class

Summary

[Editor-Only] An Weaver.Editor.Procedural.AssetGenerator which saves UnityEditor.MonoScripts as ".cs" text files.
Assembly
Weaver.dll
Namespace
Weaver.Editor.Procedural
Base Types
graph BT Type-->Base0["TextGenerator"] click Base0 "/weaver/api/Weaver.Editor.Procedural/TextGenerator" Base0-->Base1["AssetGenerator"] click Base1 "/weaver/api/Weaver.Editor.Procedural/AssetGenerator" Base1-->Base2["Object"] Type["ScriptGenerator"] class Type type-node

Syntax

[AssetGenerator(typeof(MonoScript))]
public class ScriptGenerator : TextGenerator

Attributes

Type Description
AssetGeneratorAttribute [Editor-Only] Specifies which asset type can be generated by the attributed class (which must inherit from Weaver.Editor.Procedural.AssetGenerator).

Properties

Name Value Summary
DefaultFileExtension string
.cs
GeneratorMethodParameterTypes Type[]
The parameter types of a generator method for this asset type. When overriding this property, consider using Weaver.ReflectionUtilities.OneType(System.Type) or Weaver.ReflectionUtilities.TwoTypes(System.Type,System.Type).
Inherited from TextGenerator
GeneratorMethodReturnType Type
The default return type for generator methods used by this generator.
Inherited from TextGenerator
HowToCancel string
Explains how to cancel the generation of an asset.
Inherited from TextGenerator
SaveMessage StringBuilder
The contents of this System.Text.StringBuilder will be logged and cleared once the current script finishes generating.
static

Methods

Name Value Summary
AddItemsToMenu(GenericMenu, ProceduralAsset) void
Populates `menu` with various items for the context menu of `asset`.
AppendFullDescription(StringBuilder) void
Appends the full description of this Weaver.Editor.Procedural.AssetGenerator and how it is to be used.
Inherited from AssetGenerator
AppendHeader(StringBuilder, ProceduralAsset) void
Appends "// This file was procedurally generated by ...".
Destroy(Object) void
Destroys the specified `obj`.
Inherited from AssetGenerator
DisableSaveMessage() void
Prevents the "Generated Procedural Script: ..." message from being logged for the currently generating script.
static
GetAssetPathAndDestroyOldSubAssets(ProceduralAsset) string
Gets the asset path of the existing asset and destroys all of its sub-assets.
Inherited from AssetGenerator
GetGeneratorMethod(MemberInfo) MethodInfo
Attempts to find the generator method assofiated with `assetField`.
Inherited from AssetGenerator
GetGeneratorMethod(MemberInfo, string) MethodInfo
Finds the generator method associated with a particular procedural asset.
Inherited from AssetGenerator
GetMethod(MemberInfo, string, Type[]) MethodInfo
Finds the generator method associated with a particular procedural asset.
Inherited from AssetGenerator
InvokeGeneratorMethod(ProceduralAsset) Object
Invokes `asset.GeneratorMethod` with the correct parameters for this Weaver.Editor.Procedural.AssetGenerator.
LogRebuildReason(string, string) void
Adds the `reason` that the script at the specified `assetPath` should be rebuilt to the save message.
static
OnSaveText(ProceduralAsset) void
Logs the Weaver.Editor.Procedural.ScriptGenerator.SaveMessage.
Save(Object, string, bool) void
Does nothing because UnityEngine.TextAssets are saved inside Weaver.Editor.Procedural.TextGenerator.InvokeGeneratorMethod(Weaver.Editor.Procedural.ProceduralAsset).
Inherited from TextGenerator
SaveAndRelease(StringBuilder, string) void
Writes the contents of the `text` to the specified file `path` and releases the System.Text.StringBuilder for later reuse.
Inherited from TextGenerator
static
SaveDefaultAsset(string) void
Creates and saves an empty default asset to save sub assets inside while the asset is still generating.
Inherited from AssetGenerator
UseTempScene(ProceduralAsset) bool
Indicates whether a temporary scene should be opened while generating the specified `asset`. Default is false.
Inherited from AssetGenerator
ValidateGeneratorReturnType(Type) bool
Checks if return type of a generator method is valid for this generator type.
Inherited from AssetGenerator