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);
     }
 }
Exemple #3
0
        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);
                }
            }
        }
Exemple #4
0
    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);
        }
    }
Exemple #5
0
 public void SetSelection(PuzzleSelection selection)
 {
     m_puzzleSelection = selection;
 }