12345678910111213141516171819202122232425262728293031323334 |
- using System;
- using System.Collections.Generic;
-
- namespace UnityEditor.Tilemaps
- {
- /// <summary>
- /// An attribute for GridBrushBase which specifies the TilemapEditorTool types which can work with the GridBrushBase.
- /// </summary>
- [AttributeUsage(AttributeTargets.Class)]
- public class BrushToolsAttribute : Attribute
- {
- private List<Type> m_ToolTypes;
- internal List<Type> toolList
- {
- get { return m_ToolTypes; }
- }
-
- /// <summary>
- /// Constructor for BrushToolsAttribute. Specify the TilemapEditorTool types which can work with the GridBrushBase.
- /// </summary>
- /// <param name="tools">An array of TilemapEditorTool types which can work with the GridBrushBase.</param>
- public BrushToolsAttribute(params Type[] tools)
- {
- m_ToolTypes = new List<Type>();
- foreach (var toolType in tools)
- {
- if (toolType.IsSubclassOf(typeof(TilemapEditorTool)) && !m_ToolTypes.Contains(toolType))
- {
- m_ToolTypes.Add(toolType);
- }
- }
- }
- }
- }
|