using UnityEngine;
using System.Collections;
public class Clicker : MonoBehaviour
{
public int score = 0; // Количество очков
public int targetScore = 1000000; // Целевое количество очков
public Texture2D bananaTexture; // Текстура банана
public Texture2D appleTexture; // Текстура яблока
public AudioClip clickSound; // Звук клика
public AudioClip changeTextureSound; // Звук смены текстуры
public float autoClickInterval = 1f; // Интервал авто-кликера
public int level = 0; // Уровень
private Renderer objectRenderer;
private AudioSource audioSource;
void Start()
{
objectRenderer = GetComponent<Renderer>(); // Получаем компонент Renderer
audioSource = GetComponent<AudioSource>(); // Получаем компонент AudioSource
objectRenderer.material.mainTexture = bananaTexture; // Устанавливаем текстуру банана
LoadProgress(); // Загружаем прогресс
StartCoroutine(AutoClicker()); // Запускаем авто-кликер
}
void OnMouseDown() // Метод вызывается при клике на объект
{
score += 1; // Увеличиваем счет
PlaySound(clickSound); // Проигрываем звук клика
Debug.Log("Score: " + score); // Выводим счет в консоль
// Проверяем, достигли ли мы целевого количества очков
if (score >= targetScore)
{
ChangeTexture(); // Меняем текстуру
}
// Увеличиваем уровень каждые 100 очков
if (score % 100 == 0)
{
level++;
Debug.Log("Level up! Current level: " + level);
}
// Сохраняем прогресс
SaveProgress();
}
void ChangeTexture()
{
objectRenderer.material.mainTexture = appleTexture; // Меняем текстуру на яблоко
PlaySound(changeTextureSound); // Проигрываем звук смены текстуры
Debug.Log("Texture changed to apple!"); // Выводим сообщение в консоль
}
void PlaySound(AudioClip clip)
{
if (clip != null)
{
audioSource.PlayOneShot(clip); // Проигрываем звук
}
}
IEnumerator AutoClicker()
{
while (true)
{
yield return new WaitForSeconds(autoClickInterval); // Ждем заданный интервал
score += 1; // Автоматически добавляем очко
Debug.Log("Auto-click! Score: " + score);
SaveProgress(); // Сохраняем прогресс
}
}
public void ResetScore()
{
score = 0; // Сбрасываем счет
level = 0; // Сбрасываем уровень
objectRenderer.material.mainTexture = bananaTexture; // Возвращаем текстуру к банану
Debug.Log("Game reset! Score and level reset.");
SaveProgress(); // Сохраняем прогресс
}
void SaveProgress()
{
PlayerPrefs.SetInt("Score", score); // Сохраняем счет
PlayerPrefs.SetInt("Level", level); // Сохраняем уровень
PlayerPrefs.Save(); // Применяем изменения
}
void LoadProgress()
{
score = PlayerPrefs.GetInt("Score", 0); // Загружаем счет
level = PlayerPrefs.GetInt("Level", 0); // Загружаем уровень
Debug.Log("Progress loaded! Score: " + score + ", Level: " + level);
}
}
я видел другие ответы там писали что-то типо там должна быть ссылка и что-то на подобие можно мне либо скинуть видео с обучалкой или все подробно обьяснить