Esempio n. 1
0
 public void RepleaceNode(StateNode node, Type type)
 {
     if (Graph.CheckReplace(node.Data.GetType(), type))
     {
         RegistUndo("replace node");
         string json = EditorJsonUtility.ToJson(node.Data);
         node.SetData(Activator.CreateInstance(type) as IStateNode);
         EditorJsonUtility.FromJsonOverwrite(json, node.Data);
     }
 }
Esempio n. 2
0
    public StateNode AddNode(IStateNode nodeData, Rect bounds)
    {
        string name = nodeData.GetType().Name;
        DisplayNameAttribute disaplayName = nodeData.GetType().GetCustomAttribute <DisplayNameAttribute>();

        if (disaplayName != null && !string.IsNullOrWhiteSpace(disaplayName.Name))
        {
            name = disaplayName.Name;
        }
        StateNode node = new StateNode
        {
            Bounds = bounds,
            ID     = ++IdIndex,
            Graph  = this,
            Name   = name
        };

        node.SetData(nodeData);
        Nodes.Add(node);
        return(node);
    }