public TokenDeclaration Clone() { var clone = new TokenDeclaration(m_Store, Declaration, m_GraphView) { viewDataKey = Guid.NewGuid().ToString() }; if (Declaration is LoopVariableDeclarationModel loopVariableDeclarationModel) { VseUtility.AddTokenIcon(clone, loopVariableDeclarationModel.TitleComponentIcon); } return(clone); }
public static GraphElement CreateToken(this INodeBuilder builder, Store store, IVariableModel model) { var isExposed = model.DeclarationModel?.IsExposed; Texture2D icon = (isExposed != null && isExposed.Value) ? VisualScriptingIconUtility.LoadIconRequired("GraphView/Nodes/BlackboardFieldExposed.png") : null; GetTokenPorts(store, model, out var input, out var output, Orientation.Horizontal); var token = new Token(model, store, input, output, builder.GraphView, icon); if (model.DeclarationModel != null && model.DeclarationModel is LoopVariableDeclarationModel loopVariableDeclarationModel) { VseUtility.AddTokenIcon(token, loopVariableDeclarationModel.TitleComponentIcon); } return(token); }