101 lines
2.7 KiB
C#
101 lines
2.7 KiB
C#
|
|
using UnityEngine;
|
|||
|
|
using UnityEngine.UI;
|
|||
|
|
using TMPro;
|
|||
|
|
using UnityEngine.SceneManagement;
|
|||
|
|
|
|||
|
|
public class ResultScene_Galaxy : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
[Header("RESULT TEXTS")]
|
|||
|
|
public TMP_Text scoreText;
|
|||
|
|
public TMP_Text correctText;
|
|||
|
|
public TMP_Text wrongText;
|
|||
|
|
public TMP_Text statusText;
|
|||
|
|
|
|||
|
|
[Header("BUTTONS")]
|
|||
|
|
public Button retryButton;
|
|||
|
|
public Button mainMenuButton;
|
|||
|
|
|
|||
|
|
[Header("SCENES (Inspector'dan gir)")]
|
|||
|
|
public string retrySceneName = "GalaxyGameScene_Level"; // tekrar oyna -> oyun sahnesi
|
|||
|
|
public string mainMenuScene = "Anamen";
|
|||
|
|
|
|||
|
|
[Header("SUCCESS THRESHOLD")]
|
|||
|
|
public int successScoreThreshold = 2000;
|
|||
|
|
|
|||
|
|
[Header("AUDIO")]
|
|||
|
|
public AudioSource audioSource;
|
|||
|
|
public AudioClip clickSound;
|
|||
|
|
|
|||
|
|
private int score;
|
|||
|
|
private int correct;
|
|||
|
|
private int wrong;
|
|||
|
|
|
|||
|
|
void Start()
|
|||
|
|
{
|
|||
|
|
score = PlayerPrefs.GetInt("Mod3Score", 0);
|
|||
|
|
correct = PlayerPrefs.GetInt("Mod3Correct", 0);
|
|||
|
|
wrong = PlayerPrefs.GetInt("Mod3Wrong", 0);
|
|||
|
|
|
|||
|
|
if (scoreText != null) scoreText.text = score.ToString();
|
|||
|
|
if (correctText != null) correctText.text = correct.ToString();
|
|||
|
|
if (wrongText != null) wrongText.text = wrong.ToString();
|
|||
|
|
|
|||
|
|
if (statusText != null)
|
|||
|
|
{
|
|||
|
|
if (score >= successScoreThreshold)
|
|||
|
|
{
|
|||
|
|
statusText.text = "LEVEL PASSED";
|
|||
|
|
statusText.color = Color.green;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
statusText.text = "FAILED";
|
|||
|
|
statusText.color = Color.red;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (retryButton != null)
|
|||
|
|
{
|
|||
|
|
retryButton.onClick.RemoveAllListeners();
|
|||
|
|
retryButton.onClick.AddListener(() =>
|
|||
|
|
{
|
|||
|
|
PlayClick();
|
|||
|
|
LoadScene(retrySceneName);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (mainMenuButton != null)
|
|||
|
|
{
|
|||
|
|
mainMenuButton.onClick.RemoveAllListeners();
|
|||
|
|
mainMenuButton.onClick.AddListener(() =>
|
|||
|
|
{
|
|||
|
|
PlayClick();
|
|||
|
|
LoadScene(mainMenuScene);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void LoadScene(string sceneName)
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrWhiteSpace(sceneName))
|
|||
|
|
{
|
|||
|
|
Debug.LogError("ResultScene: Sahne adı boş! Inspector'dan doldur.");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (!Application.CanStreamedLevelBeLoaded(sceneName))
|
|||
|
|
{
|
|||
|
|
Debug.LogError("ResultScene: '" + sceneName +
|
|||
|
|
"' sahnesi Build Settings'te yok ya da adı yanlış!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
SceneManager.LoadScene(sceneName);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void PlayClick()
|
|||
|
|
{
|
|||
|
|
if (audioSource && clickSound)
|
|||
|
|
audioSource.PlayOneShot(clickSound);
|
|||
|
|
}
|
|||
|
|
}
|