void DetectItems() { if (Input.GetButtonUp("Submit")) { if (Physics.Raycast(myTransform.position, myTransform.forward, out hit, range, detectionLayer)) { Vector3 next = NextRoom(hit.transform.position); if (!generator.HasCreated(next)) { generator.CreateRoom(next, generator.currentLevel); } hit.transform.gameObject.GetComponent <Door>().Toggle(); } } if (Input.GetButtonUp("Fire1")) { Instantiate(shot, myTransform.position + myTransform.forward, Quaternion.FromToRotation(Vector3.forward, myTransform.forward)); if (Physics.Raycast(myTransform.position, myTransform.forward, out hit, range * 10, shootStuff)) { Floid enemy = hit.transform.gameObject.GetComponent <Floid>(); Rotator heart = hit.transform.gameObject.GetComponent <Rotator>(); if (enemy != null) { enemy.Explode(); } else if (heart != null) { heart.Heal(); } } } }
static void Main(string[] args) { int M = int.MaxValue; int[][] matrix = { new int[] { M, 7, 4, M }, new int[] { 12, M, 5, 10 }, new int[] { 2, M, M, 5 }, new int[] { 4, M, 6, M } }; Graph graph = new Graph(matrix); Console.WriteLine(MatrixPrinter.MatrixToPrettyString(matrix)); (int, int)vertAndDist = Floid.GetTheBestBaseVertexAndDistance(graph); Console.WriteLine($"The best vertex: {vertAndDist.Item1 + 1}"); Console.WriteLine($"The best distance: {vertAndDist.Item2}"); Console.WriteLine("\n=================\n"); for (int i = 0; i < graph.Count; i++) { Console.WriteLine($"Vertex {i + 1} - Max shortest path = {Dijkstra.GetMaxShortestPath(graph.Contiguity, i)}"); } Console.ReadKey(); }