Example #1
0
	// Use this for initialization
	void Start ()
    {
        m_KeysLayer = new GameObject();
        m_KeysLayer.transform.SetParent(GameManager.Instance.FullTimeline.transform);
        m_KeysLayer.transform.localPosition = new Vector2(GameManager.Instance.FullTimeline.rect.x, 0f);
        m_KeysLayer.SetActive(false);


        m_CurrentKey = null;

        m_AudioSource = GetComponent<AudioSource>();
        m_AudioSource.clip = m_KeyList.AudioClip;
        m_AudioSource.loop = true;

        m_GameplayEnabled = EnabledAtStart;

        if(m_GameplayEnabled)
            m_AudioSource.Play();
        //m_ParticleSystem = GetComponentInChildren<ParticleSystem>();


        m_Light = GetComponentInChildren<Light>();
        if (m_Light)
            m_LightStartIntensity = m_Light.intensity;

        m_AudioSourceStartingPitch = m_AudioSource.pitch;

        //   m_Slider = GameManager.Instance.HUD.GetComponentInChildren<Slider>();
        GameManager.Instance.HUD.SetActive(false);
       

        foreach(KeyList.Key key in m_KeyList.Keys)
        {
            SetSliderTime(key.TimeInMillisec);
          //  print(m_DebugSlider.handleRect.position);

            var marker = GameObject.Instantiate(GameManager.Instance.SliderTimerMarkerGAO);

            var textComp = marker.GetComponentInChildren<Text>();
            if (textComp)
            {
                var keyString = key.KeyCode.ToString();
                // Remove "Alpha"
                string removeString = "Alpha";
                int index = keyString.IndexOf(removeString);
                keyString = (index < 0)
                    ? keyString
                    : keyString.Remove(index, removeString.Length);
                textComp.text = keyString;
            }

            marker.transform.SetParent(m_KeysLayer.transform);

            float relativeTime = key.TimeInMillisec / GameManager.Instance.TimeLineMillisec;
            relativeTime *= GameManager.Instance.FullTimeline.rect.width;
            marker.transform.localPosition = new Vector2(relativeTime, 0f);

            key.SliderMarkerImage = marker.GetComponent<Image>();
        }

        m_TimeLineWidth = GameManager.Instance.FullTimeline.rect.width;
	}
Example #2
0
    IEnumerator Gameplay()
    {
        m_HasFailedInThisRun = false;

        int keyId = 0;
        while(keyId < m_KeyList.Keys.Length)
        {
            var key = m_KeyList.Keys[keyId];

            float keyTime = key.TimeInMillisec;
            if (keyTime < GetAudioClipLengthMS())
            {
                yield return StartCoroutine(WaitForNextTime(key.TimeInMillisec - m_TimeAllowance / 2));

                m_CurrentKey = key;

                yield return StartCoroutine(WaitForNextTime(key.TimeInMillisec + m_TimeAllowance / 2));

                CheckIfFailed();

                m_CurrentKey = null;
            }
                
            keyId++;
        }

        yield return null;
    }