void Update() { // フレームごとに総合時間から減算 fTotalTime += Time.deltaTime; // キャストした総合時間を秒数に代入 iSecond = (int)fTotalTime; // テキストに秒数を表示 //tTimer.text = iSecond.ToString("00"); float gatetime = CLevelManager.Instance.Get_fGateTime(); float rad = fTotalTime / gatetime * 360; //Debug.Log(fRotationSpeed); gSecondHand.transform.eulerAngles = new Vector3(90.0f, 0.0f, -rad); //gSecondHand.transform.Rotate(0, 0, rad); //if (GameObject.Find(gGate.name + "(Clone)")) { //tTimer.text = "00"; //} /* 下限値の設定 * if (iSecond <= 0) { * tTimer.text = "00"; * fTotalTime = 0.0f; * }*/ // 時間が来たらまたはプレイヤsss.ーの意思で回収 if (fTotalTime >= gatetime || Input.GetKeyDown(KeyCode.Return) || Input.GetButtonDown(stButton0Name)) { // ゲートが二つ出るのを防ぐ if (GameObject.Find(gGate.name + "(Clone)") == null) { List <GameObject> list = csObjectManager.Get_gObjectList(); if (list.Count > 0) { OBJECT_SHAPE order = csOrderManager.Get_Order(0); // 指令の最初のオブジェクトの位置にゲートを出す GameObject first = null; int i; for (i = 0; i < list.Count; i++) { if (list[i].GetComponent <CRotateObject>().Get_Shape() == order) { first = list[i]; break; } } if (i < list.Count) { float deg = first.GetComponent <CRotateObject>().Get_fDegree(); float subdeg = first.GetComponent <CRotateObject>().Get_fDegreeSub(); deg += 30; Vector3 pos; if (deg >= 330 && deg <= 690) { subdeg = 180; } else { subdeg = 0.0f; } if (deg >= 330 && deg <= 690) { if (deg <= 400 && deg >= 330) { subdeg = 180 + (400 - deg) * 3.0f; } } else { if (deg <= 760 && deg >= 690) { subdeg = (760 - deg) * 3.0f; } } pos.x = 7 * Mathf.Sin((deg + 180) * Mathf.Deg2Rad) + 2 * Mathf.Cos(subdeg * Mathf.Deg2Rad) * Mathf.Sin((deg + 180) * Mathf.Deg2Rad); pos.y = 2 * Mathf.Sin(subdeg * Mathf.Deg2Rad); pos.z = 7 * Mathf.Cos((deg + 180) * Mathf.Deg2Rad) + 2 * Mathf.Cos(subdeg * Mathf.Deg2Rad) * Mathf.Cos((deg + 180) * Mathf.Deg2Rad); GameObject gate = Instantiate(gGate, pos, Quaternion.Euler(0, 90, 0)); CGate cs = gate.GetComponent <CGate>(); CRotateObject cro = first.GetComponent <CRotateObject>(); if (deg >= 330 && deg <= 690) { cs.Set_State(RotateState.INSIDE); if (deg <= 400 && deg >= 330) { cs.Set_isInverse(true); cs.Set_fDegreeSub(180 + (400 - deg) * 3.0f); } } else { cs.Set_State(RotateState.OUTSIDE); if (deg <= 760 && deg >= 690) { cs.Set_isInverse(true); cs.Set_fDegreeSub((760 - deg) * 3.0f); } } cs.Set_fDegree(deg); } } } fTotalTime = gatetime; } }
void OnTriggerEnter(Collider col) { // �ʉ߃I�u�W�F�N�g���� if (col.gameObject.tag == "RotateObject") { GetComponent <CCreateEffect>().CreateEffect(); OBJECT_SHAPE order = csOrderManager.Get_Order(iPassNum); // �w�߂ƈ�v if (order == col.gameObject.GetComponent <CRotateObject>().Get_Shape()) { iMatchNum++; CClearLampManager.Instance.Lighting(iPassNum, Color.green); } else { CClearLampManager.Instance.Lighting(iPassNum, Color.red); } // �ʉ߂����I�u�W�F�N�g��폜 CObjectManager.Instance.Remove(col.gameObject); Destroy(col.gameObject); //Debug.Log("hit"); iPassNum++; int ordernum = csOrderManager.Get_iOrderNum(); // �w�ߐ��̃I�u�W�F�N�g���ʉ߂����烊�Z�b�g if (iPassNum == ordernum) { if (iMatchNum == ordernum) { // �N���A�X�^���v���� //Instantiate(gClear, new Vector3(20, 0, -10 + iClearNum * 5), // Quaternion.Euler(0, 180, 0)); //========== 2021/5/09 // �X�R�A��L�^����̂ɕK�v�Ȃ̂ő����܂����@by���X�� CScore.AddScore(); CCreateTrail.Create(); //-- 2021.5.15�lj� sasaki gPanelGreen.SetActive(true); //Debug.Log("SE!!"); aAudioSourceGreen.PlayOneShot(aSEClear); CLevelManager.Instance.UpdateLevel(); // �w�ߐ��� csOrderManager.CreateOrder(CLevelManager.Instance.Get_iOrderNum()); CClearLampManager.Instance.CreateLamp(CLevelManager.Instance.Get_iOrderNum()); iClearNum++; } else { //-- 2021.5.15�lj� sasaki gPanelRed.SetActive(true); //Debug.Log("SE!!"); aAudioSourceRed.PlayOneShot(aSEMiss); } // �V�����I�u�W�F�N�g���� CObjectManager.Instance.Create(ordernum); CClearLampManager.Instance.LightingOff(); csGateTimerController.Reset(); gGateTimerController.transform.LookAt(new Vector3(0, 0, 10)); Destroy(this.gameObject); } } }
void OnTriggerEnter(Collider col) { // �ʉ߃I�u�W�F�N�g���� if (col.gameObject.tag == "RotateObject") { GetComponent <CCreateEffect>().CreateEffect(); GameObject lamp = csOrderManager.Get_gClearLamp(iPassNum); OBJECT_SHAPE order = csOrderManager.Get_Order(iPassNum); // �w�߂ƈ�v if (order == col.gameObject.GetComponent <CRotateObject>().Get_Shape()) { iMatchNum++; lamp.GetComponent <Renderer>().material.color = Color.green; } else { lamp.GetComponent <Renderer>().material.color = Color.red; } // �ʉ߂����I�u�W�F�N�g��폜 CObjectManager.Instance.Remove(col.gameObject); CObjectManager.Instance.AcceleRemove(col.gameObject); Destroy(col.gameObject); Debug.Log("hit"); iPassNum++; int ordernum = csOrderManager.Get_iOrderNum(); // �w�ߐ��̃I�u�W�F�N�g���ʉ߂����烊�Z�b�g if (iPassNum == ordernum) { if (iMatchNum == ordernum) { // �N���A�X�^���v���� //Instantiate(gClear, new Vector3(20, 0, -10 + iClearNum * 5), // Quaternion.Euler(0, 180, 0)); //========== 2021/5/09 // �X�R�A��L�^����̂ɕK�v�Ȃ̂ő����܂����@by���X�� //CScore.AddScore(); CCreateTrail.Create(); //-- 2021.5.15�lj� sasaki gPanelGreen.SetActive(true); // �w�ߐ��� csOrderManager.CreateOrder(3); iClearNum++; } else { for (int i = 0; i < ordernum; i++) { GameObject l = csOrderManager.Get_gClearLamp(i); l.GetComponent <Renderer>().material.color = Color.white; } //-- 2021.5.15�lj� sasaki gPanelRed.SetActive(true); } // �V�����I�u�W�F�N�g���� CObjectManager.Instance.Create(3); csGateTimerController.Reset(); gGateTimerController.transform.LookAt(new Vector3(0, 0, 10)); Destroy(this.gameObject); } } }