using UnityEngine; using UnityEngine.SceneManagement; // Для перезагрузки сцены public class PlayerController : MonoBehaviour { public float moveSpeed = 5f; public float jumpForce = 10f; private Rigidbody rb; private bool isGrounded = true; public static int coinCount = 0; void Start() { rb = GetComponent(); coinCount = 0; // Сбрасываем счетчик при старте } void Update() { transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime, Space.World); if (Input.GetKeyDown(KeyCode.Space) && isGrounded) { rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse); isGrounded = false; } } // Обработка столкновений с твердыми объектами void OnCollisionEnter(Collision collision) { if (collision.gameObject.CompareTag("Ground")) { isGrounded = true; } else if (collision.gameObject.CompareTag("Obstacle")) { Debug.Log("Игра окончена!"); // Перезагружаем текущую сцену SceneManager.LoadScene(SceneManager.GetActiveScene().name); } } // Обработка столкновений с триггерами void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Coin")) { coinCount++; Debug.Log("Монеты: " + coinCount); Destroy(other.gameObject); // Уничтожаем монету } } }