public void OnFinishLine()
 {
     m_moveSpeed = 0;
     m_animator.SetTrigger("Fall");
     DustParticle1.Stop();
     DustParticle2.Stop();
     foreach (People item in CollectedPeoples)
     {
         item.m_animator.SetTrigger("Fall");
         item.CloseDust();
     }
     foreach (GameObject item in RopeParents)
     {
         item.SetActive(false);
     }
 }
    IEnumerator ScaleSpeed(float start, float end, float time)
    {
        float lastTime = Time.realtimeSinceStartup;
        float timer    = 0.0f;

        while (timer < time)
        {
            m_moveSpeed = Mathf.Lerp(start, end, timer / time);
            timer      += (Time.realtimeSinceStartup - lastTime);
            lastTime    = Time.realtimeSinceStartup;
            yield return(null);
        }
        m_moveSpeed = end;

        if (m_moveSpeed <= DefaultMoveSpeed / 4)
        {
            GameManager.Instance.BullAnimator.SetTrigger("Walk");
        }

        if (m_moveSpeed <= DefaultMoveSpeed / 2 || currentPeopleCount == NeededPeopleCount)
        {
            foreach (GameObject item in RopeParents)
            {
                item.SetActive(false);
            }
            GameManager.Instance.BullAnimator.SetTrigger("Die");
            m_animator.SetTrigger("Cheer1");
            DustParticle1.Stop();
            DustParticle2.Stop();
            foreach (People item in CollectedPeoples)
            {
                item.CloseDust();
                randm = Random.Range(1, 3);
                item.m_animator.SetTrigger("Cheer" + randm);
            }
            StartCoroutine(GameManager.Instance.WaitAndGameWin());
        }
    }
    void Update()
    {
        if (!GameManager.Instance.isGameStarted || GameManager.Instance.isGameOver)
        {
            return;
        }
        if (!DustParticle1.isPlaying)
        {
            DustParticle1.Play();
            DustParticle2.Play();
        }

        roseParticleTimer += Time.deltaTime;
        if (roseParticleTimer >= RPTimerRand)
        {
            roseParticleTimer = 0;
            RPTimerRand       = Random.Range(3, 6);
            foreach (ParticleSystem item in RoseParticles)
            {
                item.Play();
                SoundManager.Instance.playSound(SoundManager.GameSounds.Pop);
            }
        }


        World.transform.position += Vector3.forward * m_moveSpeed * Time.deltaTime;
        GameManager.Instance.UpdateLevelStateImage();

#if UNITY_EDITOR
        if (Input.GetMouseButton(0))
        {
            if (GameManager.Instance.currentLevel == 1 && GameManager.Instance.tutorialCanvas.activeSelf)
            {
                GameManager.Instance.tutorialCanvas.SetActive(false);
                GameManager.Instance.tutorialCanvas2.SetActive(true);
                Destroy(GameManager.Instance.tutorialCanvas2, 3);
            }
            translation = new Vector3(0, Input.GetAxis("Mouse X"), 0) * Time.deltaTime * Xspeed;

            transform.Rotate(-translation);
            transform.localEulerAngles = new Vector3(0, Mathf.Clamp(transform.localEulerAngles.y, 90 - limit, 90 + limit), 0);

            translation2 = new Vector3(0, Input.GetAxis("Mouse X"), 0) * Time.deltaTime * (Xspeed / 2);

            SpawnPointRotater.transform.Rotate(-translation2);
            SpawnPointRotater.transform.localEulerAngles = new Vector3(0, Mathf.Clamp(SpawnPointRotater.transform.localEulerAngles.y, 90 - limit, 90 + limit), 0);
        }
#elif UNITY_IOS || UNITY_ANDROID
        if (Input.touchCount > 0)
        {
            if (GameManager.Instance.currentLevel == 1 && GameManager.Instance.tutorialCanvas.activeSelf)
            {
                GameManager.Instance.tutorialCanvas.SetActive(false);
                GameManager.Instance.tutorialCanvas2.SetActive(true);
                Destroy(GameManager.Instance.tutorialCanvas2, 3);
            }
            touch = Input.GetTouch(0);
            if (touch.phase == TouchPhase.Moved)
            {
                isMovementReleased         = false;
                transform.localEulerAngles = new Vector3(0, Mathf.Clamp(transform.localEulerAngles.y + touch.deltaPosition.x * 0.05f * Time.deltaTime * -Xspeed, 90 - limit, 90 + limit), 0);
                SpawnPointRotater.transform.localEulerAngles = new Vector3(0, Mathf.Clamp(SpawnPointRotater.transform.localEulerAngles.y + touch.deltaPosition.x * 0.05f * Time.deltaTime * (-Xspeed / 2), 90 - limit, 90 + limit), 0);
            }
            else if (touch.phase == TouchPhase.Ended)
            {
                isMovementReleased = true;
            }
            else if (touch.phase == TouchPhase.Began)
            {
                //save began touch 2d point
                firstPressPos = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
            }
        }
#endif
    }