new internal void GenerateMapPanels() { AddNoises(); foreach (GameObject mapPanel in MapPanels) { Destroy(mapPanel); } MapPanels.Clear(); int panelIndex = 0; Action <int, int> actionToDo = (x, y) => { panelIndex++; Debug.Log(x + "," + y + " " + panelIndex); GameObject newObj = Instantiate(blueprintPanel, populatePanel.transform); newObj.SetActive(true); byte federationPanelAlpha = (byte)(255 * federationNoises[new Vector2(x, y)]); newObj.GetComponent <Image>().color = new Color32(0, 255, 0, federationPanelAlpha); MapPanels.Add(newObj); }; Action <int, int> onFailDo = (x, y) => { Debug.Log("Failed: " + panelIndex + " at " + x + "," + y); actionToDo(x, y); }; TestMainControllerPlayerless.ForEveryQuadrantInRange(rangeOfPanels / 2, actionToDo, onFailDo); }
new internal void AddNoises() { federationNoises.Clear(); rebelNoises.Clear(); TestMainControllerPlayerless.ForEveryQuadrantInRange(rangeOfPanels / 2, (x, y) => { Dictionary <int, Dictionary <int, Quadrant> > quadrants = MainController.quadrants; federationNoises.Add(new Vector2(x, y), quadrants[x][y].federationNoise); rebelNoises.Add(new Vector2(x, y), quadrants[x][y].rebelNoise); }, (x, y) => { float[] noises = TestMainControllerPlayerless.GenerateQuadrantNoise(x, y); federationNoises.Add(new Vector2(x, y), noises[1]); rebelNoises.Add(new Vector2(x, y), noises[0]); } ); }