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); }
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); }
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); }
public static ConstellationPattern CreateMinimalConstellation() { ConstellationPattern patternToCreate = new ConstellationPattern(); ConstellationNodeSelf self = new ConstellationNodeSelf(); patternToCreate.AddNode(self); return(patternToCreate); }
public Snapshot(ConstellationPattern parentConstellationPattern, Stack <StarEntity> potentialStarEntities, Dictionary <StarEntity, List <StarLinkEntity> > starEntityToStarLinks) { this.CurrentStarEntityToStarLinks = starEntityToStarLinks; this.currentStack = new Stack <Tuple <ConstellationLink, ConstellationNode> >(parentConstellationPattern.constellationStack); this.currentTopStack = parentConstellationPattern.constellationStack.Peek(); this.alreadyEncounteredNodes = new HashSet <ConstellationNode>(parentConstellationPattern.alreadyEncounteredNodes); this.alreadyEncounteredStarEntities = new HashSet <StarEntity>(parentConstellationPattern.alreadyEncounteredStarEntities); this.currentPathStarEntities = new Stack <StarEntity>(parentConstellationPattern.pathStarEntities); this.PotentialStarEntities = potentialStarEntities; }
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); }
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); }
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); }
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); }
public HoldingCardsConstellation(ConstellationPattern constellationPattern) : base(constellationPattern, null) { }
public HoldingConstellation(ConstellationPattern constellationPattern, ConstellationPattern holdingConstellationPattern) { this.constellationPattern = constellationPattern; this.holdingConstellationPattern = holdingConstellationPattern; }
public Constellation(ConstellationPattern constellationPattern) { this.constellationPattern = constellationPattern; }