/// <summary> /// 1つ前または次のページに変える /// </summary> /// <param name="nextPage">次のページか前のページか</param> public void ChangePage(SELECTMODE nextPageName) { //今のページを再度開こうとしたら if (nextPageName == mode) { return; } //1ページより多くめくろうとしていたら1ページに変える if (nextPageName < mode) { Flickpage = false; } if (nextPageName > mode) { Flickpage = true; } //最小又は最大のページより先に行かないようにする if (nextPageName == SELECTMODE.TITLE - 1) { return; } if (nextPageName == SELECTMODE.MAX + 1) { return; } //コントローラーの操作をロック ControllerLock = true; //次のページを保存 Nextmode = nextPageName; }
// Update is called once per frame void Update() { switch (mode) { case SELECTMODE.TITLE: if (ControllerLock == true) { if (Title_Gizmo.GetComponent <Gizmo>().Flickpage(Flickpage) == false) { ControllerLock = false; mode = Nextmode; } } break; case SELECTMODE.PLAYERNUM: if (ControllerLock == true) { if (Playernam_Gizmo.GetComponent <Gizmo>().Flickpage(Flickpage) == false) { ControllerLock = false; playersface = new Sprite[playerNum]; mode = Nextmode; } } break; case SELECTMODE.STAGESELECT: if (ControllerLock == true) { if (Stageselect_Gizmo.GetComponent <Gizmo>().Flickpage(Flickpage) == false) { ControllerLock = false; mode = Nextmode; } } break; case SELECTMODE.CHARACTERSELECT: //初期化処理 if (Initializeface == false) { GameObject cursors = null; //カーソルの集まりを取得 foreach (Transform Child in Characterselect_Gizmo.transform) { if (Child.transform.name == "Cursors") { cursors = Child.gameObject; } } //プレイヤー人数分カーソルを表示する for (int i = 0; i < playerNum; i++) { cursors.transform.GetChild(i).gameObject.SetActive(true); } } for (int i = 0; i < playersface.Length; i++) { if (playersface[i] == null) { return; } } mode = SELECTMODE.CHANGESCENE; break; case SELECTMODE.CHANGESCENE: CreatePlayer_data(); playdata = new PlayData(Stage_name, playerdata); //シーン切替 SceneManagerController.ChangeScene(); mode = SELECTMODE.MAX; break; case SELECTMODE.MAX: break; } }
// Update is called once per frame void Update() { if (SceneLoader.IsFade) { return; } if (Key.A.Down) { ToneSE(next); switch (mode) {//^^ case SELECTMODE.GameMode: ToneSE(next); SceneLoader.Load("GO_Scene"); break; case SELECTMODE.Tutorial: ToneSE(next); SceneLoader.Load("TutorialScene"); break; case SELECTMODE.MakeAvator: ToneSE(next); SceneLoader.Load("MakeAvatorScene"); break; case SELECTMODE.Option: ToneSE(next); SceneLoader.Load("OptionScene"); break; case SELECTMODE.BackTitle: ToneSE(back); SceneLoader.Load("TitleScene"); break; } } if (Key.B.Down) { mode = SELECTMODE.BackTitle; ToneSE(back); } //移動 //Get Input Data -------------------- Vector2 d = Key.JoyStickL.Get / GamePad_JS.sensivirity; if (GamePad_JS.InvertX) { d.x *= -1; } if (GamePad_JS.InvertY) { d.y *= -1; } Debug.Log(d); string xx = d.x > border ? "R" : (d.x < -border ? "L" : "N"); float tx = Mathf.Abs(d.x); string xy = d.y > border ? "T" : (d.y < -border ? "B" : "N"); float ty = Mathf.Abs(d.y); string ccc = tx > ty ? xx : xy; var dl = mode; // Debug.Log(xx + ":" + xy + ":" + ccc); if (idol) { idol = false; flagTrueTime = 0; switch (mode) { case SELECTMODE.GameMode: switch (ccc) { case "T": mode = xx == "R" ? SELECTMODE.Option : SELECTMODE.Tutorial; break; case "B": mode = xx == "R" ? SELECTMODE.BackTitle : SELECTMODE.MakeAvator; break; case "L": mode = xy == "T" ? SELECTMODE.Tutorial : SELECTMODE.MakeAvator; break; case "R": mode = xy == "T" ? SELECTMODE.Option : SELECTMODE.BackTitle; break; default: break; } break; case SELECTMODE.Tutorial: switch (ccc) { case "B": mode = SELECTMODE.MakeAvator; break; case "R": mode = SELECTMODE.GameMode; break; default: break; } break; case SELECTMODE.MakeAvator: switch (ccc) { case "T": mode = SELECTMODE.Tutorial; break; case "R": mode = SELECTMODE.GameMode; break; default: break; } break; case SELECTMODE.Option: switch (ccc) { case "B": mode = SELECTMODE.BackTitle; break; case "L": mode = SELECTMODE.GameMode; break; default: break; } break; case SELECTMODE.BackTitle: switch (ccc) { case "T": mode = SELECTMODE.Option; break; case "L": mode = SELECTMODE.GameMode; break; default: break; } break; default: break; } } else { flagTrueTime += Time.deltaTime; if (flagTrueTime >= MoveTimeInterval) { flagTrueTime = 0; idol = true; } else { idol = Mathf.Abs(d.x) < border && Mathf.Abs(d.y) < border; } } if (mode != dl) { flag = false; ToneSE(select); } if (!idol) { } cnt += Time.deltaTime * alphaSpeed; cnt2 += Time.deltaTime * ColorSpeed; SC_H = (Mathf.Sin(cnt2) + 1) / 2; SC_S = ColorLevel; SC_V = (Mathf.Sin(cnt) * (1 - WhiteLevel) + WhiteLevel + 1) / 2; var sc = Color.HSVToRGB(SC_H, SC_S, SC_V); var nc = new Color(0.4f, 0.4f, 0.4f, 1); Button_GameMode.color = mode == SELECTMODE.GameMode ? sc : nc; Button_Tutorial.color = mode == SELECTMODE.Tutorial ? sc : nc; Button_Option.color = mode == SELECTMODE.Option ? sc : nc; Button_MakeAvator.color = mode == SELECTMODE.MakeAvator ? sc : nc; Button_BackTitle.color = mode == SELECTMODE.BackTitle ? sc : nc; switch (mode) { case SELECTMODE.GameMode: DiscriptionTextArea.texture = Text_GameMode; break; case SELECTMODE.Tutorial: DiscriptionTextArea.texture = Text_Tutorial; break; case SELECTMODE.Option: DiscriptionTextArea.texture = Text_Option; break; case SELECTMODE.MakeAvator: DiscriptionTextArea.texture = Text_MakeAvator; break; case SELECTMODE.BackTitle: DiscriptionTextArea.texture = Text_BackTitle; break; } }
void Start() { mode = SELECTMODE.GameMode; }