コード例 #1
0
    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);
    }
コード例 #2
0
 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]);
     }
                                                          );
 }