Пример #1
0
 private void LoadLevel(int lvlNumber)
 {
     levelTxt.text = "LEVEL: " + (lvlNumber + 1).ToString();
     currentLvl    = (byte)lvlNumber;
     // SET OBSTACKLES
     gridScript.LoadLevel(GRID_DIMENSION, GRID_DIMENSION, levelScript.GetLevel(GRID_DIMENSION, lvlNumber));
     gameObjects = new List <GameObject>();
     for (int i = 0; i < GRID_DIMENSION; i++)
     {
         for (int j = 0; j < GRID_DIMENSION; j++)
         {
             if (gridScript.IsOccuppied(i, j))
             {
                 gameObjects.Add(guiScript.CreateImage("Obstackle", gamePanel.transform, new Vector2(ImageW, ImageH),
                                                       new Vector2(0, 1), new Vector2(0, 1), new Vector3(1, 1, 1), new Vector2(0.5f, 0.5f),
                                                       gridScript.GetCoordinates(i, j), new Vector3(0, 0, 0), obstackleSprite, Image.Type.Sliced, new Color32(255, 255, 255, 255)));
             }
         }
     }
     // SET EXIT
     int[] xy = levelScript.GetEndPoint(lvlNumber);
     gridScript.SetEndPoint(xy);
     gameObjects.Add(guiScript.CreateImage("EndPoint", gamePanel.transform, new Vector2(ImageW, ImageH),
                                           new Vector2(0, 1), new Vector2(0, 1), new Vector3(1, 1, 1), new Vector2(0.5f, 0.5f),
                                           gridScript.GetCoordinates(xy[0], xy[1]), new Vector3(0, 0, 0), endPointSprite, Image.Type.Sliced, new Color32(255, 255, 255, 255)));
     // SET PLAYER
     xy     = levelScript.GetStartPoint(lvlNumber);
     player = guiScript.CreateImage("Player", gamePanel.transform, new Vector2(ImageW, ImageH),
                                    new Vector2(0, 1), new Vector2(0, 1), new Vector3(1, 1, 1), new Vector2(0.5f, 0.5f),
                                    gridScript.GetCoordinates(xy[0], xy[1]), new Vector3(0, 0, 0), playerSprite, Image.Type.Sliced, new Color32(255, 255, 255, 255));
     player.AddComponent <PlayerControlScript>();
     player.GetComponent <PlayerControlScript>().SetPlayer(xy, 15, this, gridScript);
     gameObjects.Add(player);
 }
Пример #2
0
    public void SetUp(GameObject parent, float panelX, float panelY, int colsCount, int rowsCount, Sprite panelImage, Sprite boardImage,
                      float buttonSize, Sprite retryImage, Sprite menuImage, Sprite soundImage, Sprite circleImage, Sprite henImage)
    {
        guiScript = gameObject.AddComponent <GuiScript>();
        eggs      = new GameObject[colsCount, rowsCount];

        gamePanel = guiScript.CreatePanel(parent, "GamePanel", new Vector2(0.5f, 0), new Vector2(0.5f, 0), new Vector2(0.5f, 0),
                                          new Vector3(1, 1, 1), new Vector3(0, 0, 0), new Vector2(panelX, panelY), new Vector2(0, 0), panelImage,
                                          new Color32(255, 255, 255, 100));

        float sizeX = panelX / (float)colsCount;
        float sizeY = panelY / (float)rowsCount;

        hens = new GameObject[colsCount];
        for (int i = 0; i < colsCount; i++)
        {
            Vector2 pos = new Vector2((i + 0.5f) * sizeX, sizeY + panelY);
            hens[i] = guiScript.CreateImage(gamePanel, "Hen", new Vector2(0, 0), new Vector2(0, 0),
                                            new Vector2(0.5f, 0.5f), new Vector3(1, 1, 1), new Vector3(0, 0, 0), new Vector2(3.5f * sizeX, 3.5f * sizeY),
                                            new Vector2(pos.x, pos.y + 1.5f * sizeY), henImage, new Color32(255, 255, 255, 255));
            hens[i].SetActive(false);
        }

        holes   = guiScript.FillWithImages(gamePanel, colsCount, rowsCount, boardImage, new Color32(130, 85, 30, 255));
        buttons = guiScript.FillWithButtons(gamePanel, colsCount, 1, panelImage, new Color32(0, 0, 0, 0));

        menuPanel = guiScript.CreatePanel(parent, "MenuPanel", new Vector2(0, 1), new Vector2(0, 1),
                                          new Vector2(0, 1), new Vector3(1, 1, 1), new Vector3(0, 0, 0), new Vector2(3 * buttonSize, buttonSize),
                                          new Vector2(0, 0), panelImage, new Color32(255, 255, 255, 0));
        menuButtons = guiScript.FillWithButtons(menuPanel, 3, 1, panelImage, new Color32(255, 255, 255, 255));

        menuButtons[0, 0].GetComponent <Image>().sprite = menuImage;
        menuButtons[1, 0].GetComponent <Image>().sprite = retryImage;
        menuButtons[2, 0].GetComponent <Image>().sprite = soundImage;

        menuButtons[0, 0].GetComponent <Button>().onClick.AddListener(delegate
        {
            Destroy(SettingsScript.instance.gameObject);
            SceneManager.LoadScene("MenuScene");
        });
        menuButtons[1, 0].GetComponent <Button>().onClick.AddListener(delegate { SceneManager.LoadScene(SceneManager.GetActiveScene().name); });

        playerPointer = guiScript.CreateImage(parent, "PlayerPointer", new Vector2(1, 1), new Vector2(1, 1), new Vector2(1, 1),
                                              new Vector3(1, 1, 1), new Vector3(0, 0, 0), new Vector2(buttonSize, buttonSize), new Vector2(0, 0),
                                              circleImage, new Color32(255, 255, 255, 255));
    }
Пример #3
0
    public void PlayMove(int x, int y, float panelX, int colsCount, float panelY, int rowsCount, Color32 color,
                         Sprite eggImage)
    {
        float   sizeX       = panelX / (float)colsCount;
        float   sizeY       = panelY / (float)rowsCount;
        Vector2 pos         = new Vector2((x + 0.5f) * sizeX, sizeY + panelY);
        Vector2 destination = holes[x, y].GetComponent <RectTransform>().anchoredPosition;

        GameObject egg = guiScript.CreateImage(gamePanel, "Circle", new Vector2(0, 0), new Vector2(0, 0),
                                               new Vector2(0.5f, 0.5f), new Vector3(1, 1, 1), new Vector3(0, 0, 0), new Vector2(sizeX, sizeY),
                                               pos, eggImage, color);

        egg.transform.SetSiblingIndex(0);
        eggs[x, y] = egg;
        StartCoroutine(PlayMoveCoroutine(egg, destination));
    }