public static GameSuperVisor GetInstance()
 {
     if (instance == null)
     {
         instance = new GameSuperVisor();
     }
     return(instance);
 }
Ejemplo n.º 2
0
    void BlockController()
    {
        #region MouseLeftClick
        if (GameSuperVisor.GetInstance().GameState == (int)GAMESTATE.GAME_PLAY)
        {
            if (Input.GetMouseButtonUp(0) /*&& Input.GetMouseButton(1)*/) // 0 왼쪽, 1 오른쪽, 2 휠
            {
                RaycastHit hit;
                Ray        ray = GetComponent <Camera>().ScreenPointToRay(Input.mousePosition);

                if (Physics.Raycast(ray, out hit))
                {
                    if (hit.collider != null)
                    {
                        string name = hit.collider.gameObject.name;
                        int    x;
                        int    y;


                        x = (int)hit.transform.position.x;
                        y = (int)hit.transform.position.y;


                        if (hit.transform.tag == "CloseBlock")
                        {
                            for (int i = 0; i < BlockManager.GetInstance().MAPHIGH; i++)
                            {
                                for (int j = 0; j < BlockManager.GetInstance().MAPWIDTH; j++)
                                {
                                    if (hit.transform.position.x == BlockManager.GetInstance().BlockMapInfo[i][j].transform.position.x &&
                                        hit.transform.position.y == BlockManager.GetInstance().BlockMapInfo[i][j].transform.position.y)
                                    {
                                        BlockOpen(x, y);
                                        RepeatOpen(x, y);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            #endregion

            #region MouseRightClick
            if (Input.GetMouseButtonUp(1))
            {
                RaycastHit hit;
                Ray        ray = GetComponent <Camera>().ScreenPointToRay(Input.mousePosition);

                if (Physics.Raycast(ray, out hit))
                {
                    if (hit.collider != null)
                    {
                        int x;
                        int y;

                        x = (int)hit.transform.position.x;
                        y = (int)hit.transform.position.y;

                        DrawingAndPutFlag(x, y);
                    }
                }
            }
            #endregion

            if (Input.GetMouseButton(0) && Input.GetMouseButton(1))
            {
                RaycastHit hit;
                Ray        ray = GetComponent <Camera>().ScreenPointToRay(Input.mousePosition);

                if (Physics.Raycast(ray, out hit))
                {
                    int x;
                    int y;

                    x = (int)hit.transform.position.x;
                    y = (int)hit.transform.position.y;

                    if (hit.collider != null)
                    {
                        ClickedAroundOpen(x, y);
                    }
                }
            }
            ClearGame();
        }
    }
 private void Awake()
 {
     GameSuperVisor.instance = this;
 }