Ejemplo n.º 1
0
 void Awake()
 {
     rectTransform       = GetComponent <RectTransform>();
     squareSize          = (int)rectTransform.rect.width / 2;
     gridSquares         = new FridgeGridSquare[2, 5];
     OnBeginDragFromTeam = new OnDragFromTeamEvent();
     OnMouseEnterSquare  = new OnMouseEnterSquare();
     OnMouseExitSquare   = new OnMouseExitSquare();
     InitGridFruitons();
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Initializes grid squares.
        /// </summary>
        private void InitGridFruitons()
        {
            for (int x = 0; x < 2; x++)
            {
                for (int y = 0; y < 5; y++)
                {
                    var gridFruitonObject = Instantiate(GridSquareTemplate);
                    gridFruitonObject.transform.SetParent(GridSquareTemplate.transform.parent);
                    gridFruitonObject.transform.localScale = GridSquareTemplate.transform.localScale;
                    gridFruitonObject.GetComponent <RectTransform>().localPosition =
                        new Vector3(x * squareSize, -y * squareSize, 0);

                    var square = gridFruitonObject.GetComponent <FridgeGridSquare>();
                    if (IsMirrored)
                    {
                        square.SetFruitonType(x == 1 ? (y == 2 ? 1 : 2) : 3);
                    }
                    else
                    {
                        square.SetFruitonType(x == 0 ? (y == 2 ? 1 : 2) : 3);
                    }
                    var xLoc = x;
                    var yLoc = y;
                    square.OnBeginDrag.AddListener(() =>
                    {
                        if (AllowEdit)
                        {
                            OnBeginDragFromTeam.Invoke(square.KernelFruiton, GetBattlePositionFromGridPosition(xLoc, yLoc));
                            square.ResetDefaultBgColor();
                            square.ClearFruiton();
                        }
                    });
                    square.OnMouseEnter.AddListener(() => OnMouseEnterSquare.Invoke(square));
                    square.OnMouseExit.AddListener(() => OnMouseExitSquare.Invoke(square));
                    square.SecondaryBgColor = Color.red;

                    gridSquares[x, y] = square;
                }
            }
            GridSquareTemplate.gameObject.SetActive(false);
        }