// Update is called once per frame void Update() { switch (mState) { case State.WaitAnimation: if (mAnimationKenList == null || mAnimationKenList.Count <= mAnimationIndex) { mState = State.ChoiceKen; return; } mCount++; if (mCount > 10) { mCount = 0; KenchoKen ken = GetKenObject(mAnimationKenList[mAnimationIndex]); ken.Kencho.SetActive(true); mAnimationIndex++; } break; case State.ChoiceKen: Ray ray; RaycastHit hit; float distance = 1000.0f; //光線を伸ばす距離 if (Input.GetMouseButtonDown(0)) { //メインカメラのスクリーン上のポイントを光線に変換 ray = Camera.main.ScreenPointToRay(Input.mousePosition); Vector3 aTapPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); Collider2D aCollider2d = Physics2D.OverlapPoint(aTapPoint); if (aCollider2d) { GameObject obj = aCollider2d.transform.gameObject; OnPressKen(obj.name); } } break; case State.Answer: if (Input.GetKeyDown(KeyCode.Alpha1)) { OnPressAnswer(); } break; case State.WaitTap: if (Input.GetKeyDown(KeyCode.Alpha1)) { ChangeNextScene(); } break; } }
KenchoKen GetKenObject(Ken ken) { KenchoKen obj = Tokyo; switch (ken) { case Ken.Tokyo: obj = Tokyo; break; case Ken.Chiba: obj = Chiba; break; case Ken.Ibaraki: obj = Ibaraki; break; case Ken.Saitama: obj = Saitama; break; case Ken.Tochigi: obj = Tochigi; break; case Ken.Gunma: obj = Gunma; break; case Ken.Kanagawa: obj = Kanagawa; break; default: break; } return(obj); }