コード例 #1
0
        protected virtual void Update()
        {
            bool isPressed = CustomInput.GetKey(key);

            UpdateGraphics();

            if (m_collidingNote != null)
            {
                if (m_collidingNote.action == NoteAction.Hold)
                {
                    m_collidingNote.duration -= Time.deltaTime;
                    if (m_collidingNote.duration <= 0.0f)
                    {
                        Destroy(m_collidingNote.gameObject);
                        m_collidingNote = null;

                        if (activatorParticleSystem != null)
                        {
                            activatorParticleSystem.Stop();
                        }
                    }
                    else
                    {
                        Vector3 scale = m_collidingNote.gameObject.transform.localScale;
                        scale.y -= Time.deltaTime;

                        m_collidingNote.gameObject.transform.localScale = scale;

                        Vector3 position = m_collidingNote.gameObject.transform.localPosition;
                        position.y += Time.deltaTime;

                        m_collidingNote.gameObject.transform.localPosition = position;

                        if (isPressed)
                        {
                            if (m_gameController != null)
                            {
                                // Add score, make effect, whatever
                                m_gameController.score.Value += m_collidingNote.baseScore;
                            }

                            if (activatorParticleSystem != null)
                            {
                                ParticleSystem.MainModule main = activatorParticleSystem.main;
                                main.startColor = Color.cyan;
                            }
                        }
                        else
                        {
                            ParticleSystem.MainModule main = activatorParticleSystem.main;
                            main.startColor = Color.red;
                        }
                    }
                }
                else if (m_collidingNote.action == NoteAction.Tap)
                {
                    if (CustomInput.GetKey(key))
                    {
                        // Add score, make effect, whatever
                        if (m_gameController != null)
                        {
                            m_gameController.score.Value += m_collidingNote.baseScore;
                        }
                    }

                    Destroy(m_collidingNote.gameObject);
                    m_collidingNote = null;
                }
            }
        }