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); }
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)); }
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)); }