6.9 KiB
id | title | hide_title | sidebar_label |
---|---|---|---|
unityatoms.editor | UnityAtoms.Editor | true | UnityAtoms.Editor |
Namespace - UnityAtoms.Editor
AtomDrawer<T>
Type Parameters
T
- The type of Atom the property drawer should apply to.
The base Unity Atoms property drawer. Makes it possible to create and add a new Atom via Unity's inspector. Only availble in UNITY_2019_1_OR_NEWER
.
AtomReferenceDrawer
A custom property drawer for References. Makes it possible to choose between a Variable and a constant value (not a Atom Contant, but a regular value).
AtomEventEditor<T,E>
Type Parameters
T
- undefinedE
- undefined
Custom editor for Events. Adds the possiblity to raise an Event from Unity's Inspector.
AtomType
Internal module class that holds that regarding an Atom type.
AtomTypes
Internal static class holding predefined static AtomType
s.
Generator
Generator that generates new Atom types based on the input data. Used by the GeneratorEditor
. Only availble in UNITY_2019_1_OR_NEWER
.
Methods
Generate(System.String,System.String,System.Boolean,System.Collections.Generic.List{UnityAtoms.Editor.AtomType},System.String,System.String)
Generate new Atoms based on the input data.
Parameters
type
- The type of Atom to generate.abstract Eg. double, byte, MyStruct, MyClass.baseWritePath
- Base write path (relative to the Asset folder) where the Atoms are going to be written to.isEquatable
- Is thetype
provided implementingIEquatable
?atomTypesToGenerate
- A list ofAtomType
s to be generated.typeNamespace
- If thetype
provided is defined under a namespace, provide that namespace here.subUnityAtomsNamespace
- By default the Atoms that gets generated will be under the namespaceUnityAtoms
. If you for example like it to be underUnityAtoms.MyNamespace
you would then enterMyNamespace
in this field.
Examples
namespace MyNamespace
{
public struct MyStruct
{
public string Text;
public int Number;
}
}
var generator = new Generator();
generator.Generate("MyStruct", "", false, new List<AtomType>() { AtomTypes.ACTION }, "MyNamespace", ""); // Generates an Atom Action of type MyStruct
RemoveDuplicateNamespaces(System.String)
Removes duplicate namespaces, given content from a template.
Parameters
content
- The content template to remove namespace from.
Returns
A copy of content
, but without duplicate namespaces.
ResolveFileName(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.Int32,System.String,System.String,System.Int32)
Resolve file name based on input data.
Parameters
templateVariables
- Template variables.templateName
- Template name.lastIndexOfDoubleUnderscore
- Last index of double underscore.capitalizedType
- Capitalized type.capitalizedAtomType
- Capitalized Atom type (string).typeOccurrences
- Number of occurrences of the type.
Returns
The filename to use.
ResolveDirPath(System.String,System.String,System.String,System.String)
Resolves the directory path based on the input data.
Parameters
baseWritePath
- The base write path (relative to the Assets folder).capitalizedAtomType
- Capitalized Atom type (string).templateName
- Template name.atomType
- Atom type.
Returns
The directory to use.
Capitalize(System.String)
Capitalize the provided string.
Parameters
s
- The string to capitalize.
Returns
A capitalized version of the string provided.
ShouldSkipTemplate(System.Collections.Generic.List{UnityAtoms.Editor.AtomType},System.String,System.Int32)
Given the input data, should generation of this template be skipped.
Parameters
atomTypesToGenerate
- List of Atom types to generate.capitalizedAtomType
- Capitalized Atom type (string).typeOccurrences
- Number of occurrences of the type.
Returns
If we should skip the template or not.
GeneratorEditor
Editor class for the Generator
. Use it via the top window bar at Tools / Unity Atoms / Generator. Only availble in UNITY_2019_1_OR_NEWER
.
Methods
Init
Create the editor window.
AddAtomTypeToGenerate(UnityAtoms.Editor.AtomType)
Add provided AtomType
to the list of Atom types to be generated.
Parameters
atomType
- TheAtomType
to be added.
RemoveAtomTypeToGenerate(UnityAtoms.Editor.AtomType)
Remove provided AtomType
from the list of Atom types to be generated.
Parameters
atomType
- TheAtomType
to be removed.
SetWarningText(UnityAtoms.Editor.AtomType,System.Collections.Generic.List{UnityAtoms.Editor.AtomType})
Set and display warning text in the editor.
Parameters
atomType
-AtomType
to generate the warning for.dependencies
- TheAtomType
s that thisAtomType
is depending on.
OnEnable
Called when editor is enabled.
CreateDivider
Helper method to create a divider.
Returns
The divider (VisualElement
) created.
CreateAtomTypeToGenerateToggleRow(UnityAtoms.Editor.AtomType)
Helper to create toogle row for a specific AtomType
.
Parameters
atomType
- The providedAtomType
.
Returns
A new toggle row (VisualElement
).
Templating
Internal class used for templating when generating new Atoms using the Generator
.
Methods
ResolveConditionals(System.String,System.Collections.Generic.List{System.String})
Resolve conditionals from the provided tempalte.
Parameters
template
- Template to resolve the conditionals from.trueConditions
- A list of conditionals that aretrue
.
Returns
A new template string resolved and based on the provided template
.
ResolveVariables(System.Collections.Generic.Dictionary{System.String,System.String},System.String)
Resolve variables in the provided string.
Parameters
templateVariables
- Dictionay mapping template variables and their resolutions.toResolve
- The string to resolve.
Returns
A new template string resolved and based on the provided toResolve
string.
EditorIconPostProcessor
Postprocessor that processes all scripts using the EditorIcon attribute and assigns the matching icon guid (matching the icon query name) to the script's meta. It's a very simple solution (and very hacky), but works really great.
Methods
OnPostprocessAllAssets(System.String[],System.String[],System.String[],System.String[])
Called when new assets are imported, deleted or moved.
Parameters
importedAssets
- Imported assets.deletedAssets
- Deleted assets.movedAssets
- Moved assets.movedFromAssetPaths
- Moved from asset paths.