Загрузка данных


using UnityEngine;
using TMPro;

public class PlayerController : MonoBehaviour
{
    [SerializeField] float rotationSpeed = 50f;
    [SerializeField] float jumpForce = 5f;
    [SerializeField] float raycastDistance = 1f;
    [SerializeField] LayerMask groundLayer;
    [SerializeField] TextMeshProUGUI counterTxt;
    [SerializeField] int counter;
    private Rigidbody2D rb;
    private SpriteRenderer spriteRenderer;
    private bool isGrounded;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        spriteRenderer = GetComponent<SpriteRenderer>();
    }

    void Update()
    {
        RotateCube();
        CheckGrounded();
        if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
        {
            Jump();
        }
    }

    void RotateCube()
    {
        transform.Rotate(0, 0, rotationSpeed * Time.deltaTime);
    }

    void CheckGrounded()
    {
        //сверху методы RotateCube() Update() Start()
        Vector2 rayStart = transform.position;
        RaycastHit2D hit = Physics2D.Raycast(rayStart, Vector2.down, raycastDistance, groundLayer);
        if (hit.collider != null)
        {
            isGrounded = true;
        }
        else
        {
            isGrounded = false;
        }
        //снизу Jump() ChangeColor() plsCount()
    }

    private void OnTriggerEnter2D(Collider2D collision)
    {
    }

    void Jump()
    {
        rb.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse);
        counter += 5;
        ChangeColor();
        plsCount();

        Vector3 pos = Camera.main.ViewportToWorldPoint(new Vector3(Random.Range(0.1f, 0.9f), Random.Range(0.5f, 0.9f), 10f));
        pos.z = 0;
        Instantiate(gameObject, pos, Quaternion.identity);
    }

    void ChangeColor()
    {
        spriteRenderer.color = Random.ColorHSV(0f, 1f, 0.7f, 1f, 0.8f, 1f);
        counterTxt.color = Random.ColorHSV(0f,