void Update()
        {
            if (!gameManager.GameRunning)
            {
                return;
            }

            if (Input.GetMouseButtonDown(0))
            {
                RaycastHit hit;
                Ray        ray = _mainCamera.ScreenPointToRay(Input.mousePosition);

                if (Physics.Raycast(ray, out hit, spriteViewMask))
                {
                    SpriteView spriteView = hit.collider.gameObject.GetComponent <SpriteView>();
                    if (spriteView != null)
                    {
                        gameManager.SelectObject(spriteView.SpriteObj, selectedColor, unselectedColor);
                    }
                }
            }
        }
Пример #2
0
        public void RenderSessionOnScreen(LevelSession levelSession)
        {
            Cell[,] cells = levelSession.Grid.Cells;
            int rows    = levelSession.Grid.Rows;
            int columns = levelSession.Grid.Columns;

            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < columns; j++)
                {
                    SpriteObject spriteObj = ((SpriteObject)cells[i, j].CellObj);
                    if (spriteObj != null)
                    {
                        GameObject     spriteViewGO = PoolManager.Instance.GetObjectFromPool("SpriteView");
                        SpriteRenderer rendere      = spriteViewGO.GetComponent <SpriteRenderer>();
                        rendere.sprite = spriteMap[spriteObj.SpriteType];
                        SpriteView spriteView = spriteViewGO.GetComponent <SpriteView>();
                        spriteView.LinkView(spriteObj);
                        spriteViewGO.SetActive(true);
                    }
                }
            }
        }