예제 #1
0
        public static ConstellationPattern CreateToolsConstellation()
        {
            ConstellationPattern patternToCreate = new ConstellationPattern();

            ConstellationNode node1 = new ConstellationAllyNode();

            patternToCreate.AddNode(node1);
            ConstellationNode node2 = new ConstellationAllyNode();

            patternToCreate.AddNode(node2);
            ConstellationNode node3 = new ConstellationOpponentNode();

            patternToCreate.AddNode(node2);
            ConstellationNodeSelf self = new ConstellationNodeSelf();

            patternToCreate.AddNode(self);

            ConstellationLink link = new ConstellationLink(self, node1);

            patternToCreate.AddNodeLink(link);
            ConstellationLink link2 = new ConstellationLink(self, node2);

            patternToCreate.AddNodeLink(link2);
            ConstellationLink link3 = new ConstellationLink(self, node3);

            patternToCreate.AddNodeLink(link3);

            return(patternToCreate);
        }
예제 #2
0
        public static ConstellationPattern CreateDefaultConstellation()
        {
            ConstellationPattern patternToCreate = new ConstellationPattern();

            ConstellationNode node1 = new ConstellationNode();

            node1.Name = "head1";
            patternToCreate.AddNode(node1);
            ConstellationNode node2 = new ConstellationNode();

            node2.Name = "head2";
            patternToCreate.AddNode(node2);
            //ConstellationNode node3 = new ConstellationNode();
            //node3.Name = "tail";
            //patternToCreate.AddNode(node3);
            ConstellationNodeSelf self = new ConstellationNodeSelf();

            self.Name = "self";
            patternToCreate.AddNode(self);

            ConstellationLink link = new ConstellationLink(self, node2);

            patternToCreate.AddNodeLink(link);
            ConstellationLink link2 = new ConstellationLink(self, node1);

            patternToCreate.AddNodeLink(link2);
            //ConstellationLink link3 = new ConstellationLink(node1, node2);
            //patternToCreate.AddNodeLink(link3);
            //ConstellationLink link4 = new ConstellationLink(self, node3);
            //patternToCreate.AddNodeLink(link4);

            return(patternToCreate);
        }
예제 #3
0
        public static ConstellationPattern CreateAssociatedCardsPatternFrom(ConstellationPattern modelPattern, IConstellation constellation)
        {
            ConstellationPattern patternToCreate = new ConstellationPattern();

            Dictionary <ConstellationNode, ConstellationNode> nodeToNewNode = new Dictionary <ConstellationNode, ConstellationNode>();

            ConstellationNode newNode;

            foreach (ConstellationNode node in modelPattern.ConstellationNodeSystem)
            {
                if (node != modelPattern.NodeSelf)
                {
                    StarEntity associatedStarEntity = constellation.NodeToStarEntity[node];

                    newNode = new ConstellationCardEntityNode(associatedStarEntity.CardSocketed);
                    nodeToNewNode.Add(node, newNode);

                    patternToCreate.AddNode(newNode);
                }
            }

            newNode = new ConstellationNodeSelf();
            nodeToNewNode.Add(modelPattern.NodeSelf, newNode);
            patternToCreate.AddNode(newNode);

            foreach (ConstellationLink link in modelPattern.ConstellationLinkSystem)
            {
                patternToCreate.AddNodeLink(new ConstellationLink(nodeToNewNode[link.Node1], nodeToNewNode[link.Node2]));
            }

            return(patternToCreate);
        }
예제 #4
0
        public static ConstellationPattern CreateMinimalConstellation()
        {
            ConstellationPattern patternToCreate = new ConstellationPattern();

            ConstellationNodeSelf self = new ConstellationNodeSelf();

            patternToCreate.AddNode(self);

            return(patternToCreate);
        }
예제 #5
0
        public static ConstellationPattern CreateRockConstellation()
        {
            ConstellationPattern patternToCreate = new ConstellationPattern();

            ConstellationNode node1 = new ConstellationLockNode();

            patternToCreate.AddNode(node1);
            ConstellationNodeSelf self = new ConstellationNodeSelf();

            patternToCreate.AddNode(self);

            ConstellationLink link = new ConstellationLink(self, node1);

            patternToCreate.AddNodeLink(link);

            return(patternToCreate);
        }
예제 #6
0
        public static ConstellationPattern CreateHierophantConstellation()
        {
            ConstellationPattern patternToCreate = new ConstellationPattern();

            ConstellationNode node1 = new ConstellationNode();

            patternToCreate.AddNode(node1);
            ConstellationNode node2 = new ConstellationNode();

            patternToCreate.AddNode(node2);

            ConstellationNode node3 = new ConstellationNode();

            patternToCreate.AddNode(node3);
            ConstellationNode node4 = new ConstellationNode();

            patternToCreate.AddNode(node4);

            ConstellationNodeSelf self = new ConstellationNodeSelf();

            patternToCreate.AddNode(self);

            ConstellationLink link = new ConstellationLink(self, node1);

            patternToCreate.AddNodeLink(link);
            ConstellationLink link2 = new ConstellationLink(node1, node2);

            patternToCreate.AddNodeLink(link2);

            ConstellationLink link3 = new ConstellationLink(self, node3);

            patternToCreate.AddNodeLink(link3);
            ConstellationLink link4 = new ConstellationLink(node3, node4);

            patternToCreate.AddNodeLink(link4);

            return(patternToCreate);
        }
예제 #7
0
        public static ConstellationPattern CreateEmpressConstellation()
        {
            ConstellationPattern patternToCreate = new ConstellationPattern();

            ConstellationNode node1 = new ConstellationAllyNode();

            patternToCreate.AddNode(node1);
            ConstellationNode node2 = new ConstellationSpecificCardNode("emperor", ConstellationSpecificCardNode.NodeType.ALLY);

            patternToCreate.AddNode(node2);
            ConstellationNodeSelf self = new ConstellationNodeSelf();

            patternToCreate.AddNode(self);

            ConstellationLink link = new ConstellationLink(self, node2);

            patternToCreate.AddNodeLink(link);
            ConstellationLink link2 = new ConstellationLink(self, node1);

            patternToCreate.AddNodeLink(link2);

            return(patternToCreate);
        }
예제 #8
0
        public static ConstellationPattern CreateArchitectsConstellation()
        {
            ConstellationPattern patternToCreate = new ConstellationPattern();

            ConstellationNode node1 = new ConstellationAllyNode();

            patternToCreate.AddNode(node1);
            ConstellationNode node2 = new ConstellationAllyNode();

            patternToCreate.AddNode(node2);
            ConstellationNodeSelf self = new ConstellationNodeSelf();

            patternToCreate.AddNode(self);

            ConstellationLink link = new ConstellationLink(self, node1);

            patternToCreate.AddNodeLink(link);
            ConstellationLink link2 = new ConstellationLink(node1, node2);

            patternToCreate.AddNodeLink(link2);

            return(patternToCreate);
        }