// Update is called once per frame
    void Update()
    {
        if (isDead)
        {
            return;
        }
        if (Input.GetKeyDown(KeyCode.Space))
        {
            animator.SetBool("isJumping", true);
            rBody.AddForce(Vector3.up * 80000);
        }
        else if (Input.GetKeyDown(KeyCode.M))
        {
            animator.SetBool("isMagic", true);
        }
        else if (Input.GetKeyDown(KeyCode.RightArrow) && canTurn)
        {
            this.transform.Rotate(0, 90, 0);
            GenerateWorld.dummyTraveller.transform.forward = -this.transform.forward;
            GenerateWorld.runDummy();
            player.transform.position = new Vector3(startPosition.x, player.transform.position.y, startPosition.z);
        }
        else if (Input.GetKeyDown(KeyCode.LeftArrow) && canTurn)
        {
            this.transform.Rotate(0, -90, 0);
            GenerateWorld.dummyTraveller.transform.forward = -this.transform.forward;
            GenerateWorld.runDummy();
            player.transform.position = new Vector3(startPosition.x, player.transform.position.y, startPosition.z);
        }
        else if (Input.GetKeyDown(KeyCode.A))
        {
            this.transform.Translate(-0.4f, 0, 0);
        }
        else if (Input.GetKeyDown(KeyCode.D))
        {
            this.transform.Translate(0.4f, 0, 0);
        }

        PlayerPrefs.SetInt("lastScore", PlayerPrefs.GetInt("score"));
        if (PlayerPrefs.HasKey("highestScore"))
        {
            if (PlayerPrefs.GetInt("highestScore") < PlayerPrefs.GetInt("score"))
            {
                PlayerPrefs.SetInt("highestScore", PlayerPrefs.GetInt("score"));
            }
        }
        else
        {
            PlayerPrefs.SetInt("highestScore", PlayerPrefs.GetInt("score"));
        }

        if (PlayerPrefs.HasKey("highestScore"))
        {
            highestScore.text = $"Highest : {PlayerPrefs.GetInt("highestScore")}";
        }
        else
        {
            highestScore.text = $"Highest : 0";
        }
    }
 // Start is called before the first frame update
 void Start()
 {
     animator      = this.GetComponent <Animator>();
     player        = this.gameObject;
     startPosition = player.transform.position;
     GenerateWorld.runDummy();
     rBody      = this.GetComponent <Rigidbody>();
     magicRBody = magic.GetComponent <Rigidbody>();
     isDead     = false;
     livesLeft  = PlayerPrefs.GetInt("lives");
     for (int i = 0; i < icons.Length; i++)
     {
         if (i >= livesLeft)
         {
             icons[i].texture = deadIcon;
         }
     }
     if (PlayerPrefs.HasKey("highestScore"))
     {
         highestScore.text = $"Highest : {PlayerPrefs.GetInt("highestScore")}";
     }
     else
     {
         highestScore.text = $"Highest : 0";
     }
 }
    private void OnTriggerEnter(Collider other)
    {
        if (other is BoxCollider && GenerateWorld.lastPlatform.tag != "platformTSection")
        {
            GenerateWorld.runDummy();
        }

        if (other is SphereCollider)
        {
            canTurn = true;
        }
    }