示例#1
0
    // Create Mode - Grid 크기 조절
    public void SetGameboardGrid(int value)
    {
        GameboardCtrl gameBoardCtrl = touchManager.currGameboard.GetComponent <GameboardCtrl>();

        gameBoardCtrl.SetGameboardGrid(value);
        pointerCtrl.guideCube.transform.localScale = gameBoardCtrl.GetCubeScale();
    }
    void SetGameBoard()
    {
        touchNum += 1;

        // Game Board가 없는 경우
        if (currGameboard == null)
        {
            var rot = Quaternion.LookRotation(hits[0].pose.position - cam.transform.position);
            // 게임 보드 생성
            currGameboard = Instantiate(gameBoardPrefab);
            currGameboard.transform.position = hits[0].pose.position;
            currGameboard.transform.rotation = Quaternion.Euler(cam.transform.position.x
                                                                , rot.eulerAngles.y
                                                                , cam.transform.position.z);

            // 게임 보드 크기 조절
            originScale = currGameboard.transform.localScale;
            currGameboard.transform.localScale *= boardSize;

            // CubeCtrl에 Gameboard 데이터 세팅
            cubeCtrl.SetGameboardData(currGameboard);

            // 각 모드별 알맞은 Game Panel 생성
            gamePanelCtrl.ConvertGamePanel();

            // Gameboard의 Grid 켜기
            GameboardCtrl gameboardCtrl = currGameboard.GetComponent <GameboardCtrl>();
            gameboardCtrl.SetGameboardGrid(5);
            buttonManager.gameboardCtrl = gameboardCtrl;

            // Gameboard에 Checkboard 생성
            if (GameManager.Instance.modeType == ModeType.Alone_Minus || GameManager.Instance.modeType == ModeType.Alone_Plus)
            {
                GameObject checkerboard = Instantiate(checkboardPrefab, currGameboard.transform);
                answerManager.checkerboardCtrl = checkerboard.GetComponent <CheckerboardCtrl>();
                Debug.Log("TouchManager ::: Checkboard 생성");
            }

            // Quest Controller - Alone Mode 생성
            questController    = Instantiate(questControllerPrefab);
            aloneModeQuestCtrl = questController.GetComponent <AloneModeQuestCtrl>();
            aloneModeQuestCtrl.SetCurrGameboard(currGameboard);

            // AnswerManager에 alonModeQuestCtrl 연결
            answerManager.aloneModeQuestCtrl = aloneModeQuestCtrl;

            // Guide Cube 생성
            guideCube = Instantiate(guideCubePrefab, currGameboard.transform);
            guideCube.transform.localScale = gameboardCtrl.GetCubeScale();
            guideCube.SetActive(false);
            pointerCtrl.guideCube = guideCube;
        }
        // Game Board가 있는 경우
        else
        {
            currGameboard.SetActive(true);
            currGameboard.transform.position = hits[0].pose.position;
            gamePanelCtrl.ConvertGamePanel();
            currGameboard.GetComponent <GameboardCtrl>().SetGameboardGrid(5);
        }

        pointer.SetActive(false);
        pointerCtrl.isGameboardReady = true;
        pointerCtrl.gameboard        = currGameboard;

        buttonManager.aloneModeQuestCtrl = aloneModeQuestCtrl;
        aloneModeQuestCtrl.SetAloneModeQuest(buttonManager, playSceneCanvas);
    }
示例#3
0
 public void SetGameboardData(GameObject _gameboard)
 {
     gameboard     = _gameboard;
     cubeList      = gameboard.transform.GetChild(2).gameObject;
     gameboardCtrl = gameboard.GetComponent <GameboardCtrl>();
 }