public void InitGameInfoReady() { uiGameReady = FindObjectOfType <UiGameReadyController>(); selectDic = new Dictionary <GameInfoState, GameInfoRaw>(); selectDic.Add(GameInfoState.SelectPlayer, selectPlayer); selectDic.Add(GameInfoState.SelectMode, selectMode); selectDic.Add(GameInfoState.SelectCPU, selectCPU); gameInfoState = GameInfoState.SelectPlayer; selectPlayer.InitGameInfoRaw(); selectMode.InitGameInfoRaw(); selectCPU.InitGameInfoRaw(); selectCheck.InitGameInfoRaw(); isDoneRaw = false; isAllCheck = false; isCanTouch = false; MoveRightToCenter(selectPlayer); selectPlayer.UpdateDataByInfoType(); }
void Update() { if (isCanTouch == false) { return; } if (Input.GetKeyDown(KeyCode.Escape) || Input.GetButtonDown("Back")) { // Back. return; } if (Input.GetKeyDown(KeyCode.Return) || Input.GetButtonDown("Submit")) { if (isDoneRaw == true) { if (selectCheck.GetCurrIdx() == 0) { //back SceneUtil.LoadScene("MainMenu"); return; } if (gameInfoState != GameInfoState.AllSelectDone) { return; } } switch (gameInfoState) { case GameInfoState.SelectPlayer: selectPlayer.SelectByCurrIdx(); uiGameReady.howPlayer = (HowPlayer)selectPlayer.GetCurrIdx(); ++gameInfoState; selectPlayer.SetSelected(false); MoveRightToCenter(selectMode); break; case GameInfoState.SelectMode: selectMode.SelectByCurrIdx(); uiGameReady.gameMode = (GameMode)selectMode.GetCurrIdx(); ++gameInfoState; selectMode.SetSelected(false); if (IsSoloTeam(uiGameReady.gameMode, uiGameReady.howPlayer)) { gameInfoState = GameInfoState.AllSelectDone; selectCheck.UpdateDataByInfoType(); uiGameReady.cpuCount = 3; selectCheck.SetSelected(true, true, 1); isDoneRaw = true; isAllCheck = true; return; } canGetCpuCount = selectCPU.InitCPUCols(uiGameReady.gameMode, uiGameReady.howPlayer); MoveRightToCenter(selectCPU); break; case GameInfoState.SelectCPU: selectCPU.SelectByCurrIdx(); var selectIdx = selectCPU.GetCurrIdx(); // if canGetCputCnt true -> pvc, pvp Idx if (canGetCpuCount == true) { if (uiGameReady.howPlayer == HowPlayer.P1) { uiGameReady.cpuCount = selectIdx + 1; } else { uiGameReady.cpuCount = selectIdx; } } else { uiGameReady.cpuCount = 2; if (selectIdx == 0) { uiGameReady.versusMode = P2TeamMode.PL2vsCP2; } else if (selectIdx == 1) { uiGameReady.versusMode = P2TeamMode.PLCPvsPLCP; } } ++gameInfoState; selectCheck.UpdateDataByInfoType(); selectCPU.SetSelected(false); selectCheck.SetSelected(true, true, 1); isAllCheck = true; isDoneRaw = true; uiGameReady.SetCursorEnable(false); break; case GameInfoState.AllSelectDone: var idx = selectCheck.GetCurrIdx(); if (idx == 0) { // back SceneUtil.LoadScene("MainMenu"); } else if (idx == 1) { // next isCanTouch = false; selectCheck.SetSelected(false); selectCheck.gameObject.SetActive(false); uiGameReady.SetGameReadyState(GameReadyState.SelectCharacter); } break; } if ((int)gameInfoState <= (int)GameInfoState.SelectMode) { selectDic[gameInfoState].UpdateDataByInfoType(); } } if (ControllerAxisHelper.Instance.IsAxisDownAll(AxisDown.DOWN)) { if (gameInfoState != GameInfoState.AllSelectDone) { uiGameReady.SetCursorEnable(false); isDoneRaw = true; selectDic[gameInfoState].SetSelected(false); selectCheck.SetSelected(true, true); } } if (ControllerAxisHelper.Instance.IsAxisDownAll(AxisDown.UP)) { if (gameInfoState != GameInfoState.AllSelectDone) { uiGameReady.SetCursorEnable(true); selectCheck.BackRawSelectByCurrIdx(true); selectDic[gameInfoState].SetSelected(true); selectCheck.SetSelected(false); isDoneRaw = false; } } }