void OnTriggerStay(Collider other) { if (isStateChanged) { if (other.gameObject.tag == "Rect" && mState == State.up && !noteLine.isEnter) { Destroy(r.GetComponent <RectNote>().endNote.gameObject); Destroy(r); str = "Miss"; l.setStr(str); //Debug.Log("UP"); } isStateChanged = false; } if (other.gameObject.tag == "Rect") { if (mState == State.down && re.headNote == null) { if (!re.isPressed) { re.isPressed = true; r.transform.position = new Vector3(r.transform.position.x, this.transform.position.y, this.transform.position.z); r.transform.localScale = new Vector3(r.transform.localScale.x, -this.transform.position.y + re.endNote.transform.position.y, r.transform.localScale.z); } l.setScore((int)(Time.deltaTime * 100)); //Debug.Log(r.transform.localScale.y); } } }
void OnTriggerStay(Collider other) { if (isStateChanged) { //Debug.Log("Stay"); if (other.gameObject.tag == "Note") { int tType = other.gameObject.GetComponent <Note>().Type; //Debug.Log(tType); if (mState == State.down) { float dy = Mathf.Abs(other.gameObject.transform.position.y - this.transform.position.y); //Debug.Log(dy); if (dy < 0.3f) { str = "Perfect"; score = 100; } else if (dy < 0.5f) { str = "Great"; score = 80; } else if (dy < 1.0f) { str = "Good"; score = 40; } else { str = "Bad"; score = 20; } l.setStr(str); l.setScore(score); Destroy(other.gameObject); isEnter = false; } else if (mState == State.up) { if (tType == 3) { float dy = Mathf.Abs(other.gameObject.transform.position.y - this.transform.position.y); //Debug.Log(dy); if (dy < 0.3f) { str = "Perfect"; score = 100; } else if (dy < 0.5f) { str = "Great"; score = 80; } else if (dy < 1.0f) { str = "Good"; score = 40; } else { str = "Bad"; score = 20; } l.setStr(str); l.setScore(score); GameObject pre; if (other.gameObject.GetComponent <Note>().pre != null) { pre = other.gameObject.GetComponent <Note>().pre.gameObject; Destroy(pre); } //Debug.Log("HERE DESTROYS PRE"); Destroy(other.gameObject); isEnter = false; } } } isStateChanged = false; } }