示例#1
0
    public static SimpleNode CreateNode(SimpleNodeType nodeType, System.Guid nodeGuid = default)
    {
        if (default == nodeGuid)
        {
            nodeGuid = System.Guid.NewGuid();
        }

        SimpleNode node = null;

        switch (nodeType)
        {
        case SimpleNodeType.StartNode:
            node = CreateStartNode(nodeGuid);
            break;

        case SimpleNodeType.NormalNode:
            node = CreateNormalNode(nodeGuid);
            break;

        case SimpleNodeType.BranchNode:
            node = CreateBranchNode(nodeGuid);
            break;

        default:
            node = CreateNormalNode(nodeGuid);
            break;
        }

        return(node);
    }
示例#2
0
    public SimpleNode(System.Guid guid, SimpleNodeType nodeType)
    {
        m_nodeGuid     = guid;
        m_guidShortStr = m_nodeGuid.ToString().Substring(0, 5);
        m_nodeType     = nodeType;

        m_inputPorts  = new List <Port>();
        m_outputPorts = new List <Port>();

        this.title = m_guidShortStr;
    }
 private void JudgeOperation(SimpleNodeType type)
 {
     if (Type == SimpleNodeType.Chaos)
     {
         return;
     }
     if (type == Type)
     {
         return;
     }
     throw new NotSupportedException();
 }
 private void SetNodeType(SimpleNodeType type)
 {
     m_type = type;
     if (Type == SimpleNodeType.Group)
     {
         m_isGroupNode = true;
         InitLikeGroup();
     }
     else if (Type == SimpleNodeType.Content)
     {
         m_isGroupNode = false;
         InitLikeContent();
     }
 }
    public SimpleNode CreateNode(SimpleNodeType nodeType, System.Guid nodeGuid = default)
    {
        SimpleNode node = null;

        switch (nodeType)
        {
        case SimpleNodeType.StartNode:
            node = CreateStartNode(nodeGuid);
            break;

        case SimpleNodeType.NormalNode:
            node = CreateNormalNode(nodeGuid);
            break;

        case SimpleNodeType.BranchNode:
            node = CreateBrunchNode(nodeGuid);
            break;

        default:
            node = CreateNormalNode(nodeGuid);
            break;
        }
        return(node);
    }
 private void AutoAdapt(SimpleNodeType type)
 {
     JudgeOperation(type);
     SetNodeType(type);
 }
 internal ChaosNode()
 {
     m_isGroupNode = true;
     m_type        = SimpleNodeType.Chaos;
 }