Unity graph tool solution based on different implementation now focused on Unity.Experimental.Graphview
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
987 B

using System;
using JetBrains.Annotations;
using TNode.Models;
using Unity.VisualScripting;
namespace TNode.Attribute{
/// <summary>
/// Use this attribute to claim the usage of a type derived IModel IModel
/// it can be applied to the same node multiple times.
/// <example>
/// [GraphUsage(DialogueGraph)]
/// </example>
/// </summary>
[AttributeUsage(AttributeTargets.Class)]
[BaseTypeRequired(typeof(IModel))]
public class GraphUsageAttribute:System.Attribute{
public readonly Type GraphDataType;
public string Category;
public GraphUsageAttribute(Type t,string category = null){
//check if the type t is graph
if(!typeof(GraphData).IsAssignableFrom(t)){
throw new Exception("The type used on Graph Usage must be a graph");
}
GraphDataType = t;
if (category != null){
Category = category;
}
}
}
}