////////////////////////////// //Constructors// ////////////////////////////// private MainModel() { instance = this; this.graph = GraphFactory.CreateGraph(); this.entityManagement = new EntityManager(); EntityFactory.CreateStartEntities(); }
//Constructors public Node(Graph graph, Vector2 position) { this.nodeID = nextID++; graph.AllNodes.AddLast(this); this.position = position; edges = new LinkedList<Edge>(); texture = MainGame.Instance.Content.Load<Texture2D>("GameAssets/node"); }
//Constructors public Edge(Graph graph, Node node1, Node node2, int cost) { graph.AllEdges.AddLast(this); this.node1 = node1; this.node2 = node2; node1.LinkToEdge(this); node2.LinkToEdge(this); this.cost = cost; costTexture = DetermineCostTexture(); }
//Methods public static Graph CreateGraph() { Graph graph = new Graph(); Node node0 = new Node(graph, new Vector2(400, 100)); Node node1 = new Node(graph, new Vector2(800, 100)); Node node2 = new Node(graph, new Vector2(150, 300)); Node node3 = new Node(graph, new Vector2(510, 280)); Node node4 = new Node(graph, new Vector2(690, 280)); Node node5 = new Node(graph, new Vector2(1050, 300)); Node node6 = new Node(graph, new Vector2(150, 450)); Node node7 = new Node(graph, new Vector2(510, 440)); Node node8 = new Node(graph, new Vector2(690, 440)); Node node9 = new Node(graph, new Vector2(1050, 450)); Node node10 = new Node(graph, new Vector2(400, 650)); Node node11 = new Node(graph, new Vector2(800, 650)); new Edge(graph, node0, node2, 2); new Edge(graph, node0, node3, 1); new Edge(graph, node1, node4, 1); new Edge(graph, node1, node5, 2); new Edge(graph, node2, node3, 1); new Edge(graph, node2, node6, 3); new Edge(graph, node3, node4, 2); new Edge(graph, node3, node7, 2); new Edge(graph, node4, node5, 1); new Edge(graph, node4, node8, 2); new Edge(graph, node5, node9, 3); new Edge(graph, node6, node7, 1); new Edge(graph, node6, node10, 2); new Edge(graph, node7, node8, 2); new Edge(graph, node7, node10, 1); new Edge(graph, node8, node9, 1); new Edge(graph, node8, node11, 1); new Edge(graph, node9, node11, 2); return graph; }