private PuzzleSelection AddNewGameObjcet() { PuzzleSelection go = Instantiate(objectPrefab); go.gameObject.SetActive(false); _objList.Add(go); return(go); }
private void Start() { for (int i = 0; i < startAmn; i++) { PuzzleSelection go = Instantiate(objectPrefab); go.gameObject.SetActive(false); go.transform.SetParent(this.transform); _objList.Add(go); } }
private void InitPictures() { if (_puzzlePicture == null) { _puzzlePicture = GetPuzzlePicture(); } float w, h; w = gamePanel.rect.width / size; // 512 P.width / size = 128 h = gamePanel.rect.height / size; float offsetX, offsetY; offsetX = w / 2; // 128/2 = 64 offsetY = h / 2; puzzles = new PuzzleSelection[size, size]; puzzlesParts = new Rect[size, size]; // 4x4 // 0.3|1.3|2.3|3.3 // 0.2|1.2|2.2|3.2 // 0.1|1.1|2.1|3.1 // 0.0|1.0|2.0|3.0 Vector2 offset; Vector2 m_scale = new Vector2(1.0f / size, 1.0f / size); for (int x = 0; x < size; x++) { for (int y = 0; y < size; y++) { PuzzleSelection newImg = _puzzlePooler.GetPooledObject(); newImg.gameObject.SetActive(true); //Instantiate(puzzlePrefab); newImg.transform.localPosition = new Vector2(x * w + offsetX, y * h + offsetY); newImg.transform.SetParent(gamePanel, false); newImg.GetComponent <RectTransform>().sizeDelta = new Vector2(w, h); newImg.transform.rotation = gamePanel.rotation; newImg.name = (y * size + x).ToString(); newImg.GetComponent <Button>().onClick.AddListener(() => { this.OnClick(newImg.name); }); puzzles[x, y] = newImg; offset = new Vector2(x * m_scale.x, y * m_scale.y); puzzles[x, y].AssignImage(m_scale, offset); puzzlesParts[x, y] = puzzles[x, y].PuzzlePart; //images[x, y].CreatePuzzlePiece(size); } } }
public void OnClick() { PuzzleSelection previousSelection = m_gameBoard.GetSelection(); if (previousSelection != null) { previousSelection.GetComponent <RawImage>().color = Color.white; Vector2 tempOffset = previousSelection.GetImageOffset(); previousSelection.AssignImage(m_offset); AssignImage(tempOffset); m_gameBoard.SetSelection(null); if (m_gameBoard.CheckBoard() == true) { m_gameBoard.Win(); } } else { GetComponent <RawImage>().color = Color.gray; m_gameBoard.SetSelection(this); } }
public void SetSelection(PuzzleSelection selection) { m_puzzleSelection = selection; }