public static GameSuperVisor GetInstance() { if (instance == null) { instance = new GameSuperVisor(); } return(instance); }
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; }