Initial commit: Star of Words Unity project

Snapshot of the existing Unity 6 language-learning word game before any
refactoring. Adds Unity .gitignore and .gitattributes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
portakal 2026-07-05 15:31:20 +03:00
commit ecb1c9edea
1455 changed files with 933295 additions and 0 deletions

View file

@ -0,0 +1,164 @@
using System.Collections;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class Mod7Resume : MonoBehaviour
{
[Header("UI TEXTS (ONLY NUMBERS)")]
public TMP_Text scoreText;
public TMP_Text maxScoreText;
public TMP_Text correctText;
public TMP_Text wrongText;
[Header("BUTTONS")]
public Button retryButton;
public Button exitButton;
[Header("AUDIO")]
public AudioSource sfx;
public AudioClip clickSound;
[Header("━━━ ANIMATION SETTINGS ━━━━━━━━━━━━━━━━━")]
public float countUpDuration = 0.8f;
public float popInDelay = 0.08f;
public float popInTime = 0.3f;
private string modKey = "Mod7";
private int score;
private int maxScore;
private int correct;
private int wrong;
void Start()
{
LoadResults();
PrepareTexts();
if (retryButton != null)
retryButton.onClick.AddListener(() => { PlaySFX(); Retry(); });
if (exitButton != null)
exitButton.onClick.AddListener(() => { PlaySFX(); ExitToMenu(); });
StartCoroutine(PlayRevealSequence());
}
// ---------------------------------------------------------------
void LoadResults()
{
score = PlayerPrefs.GetInt(modKey + "_LastScore", 0);
maxScore = PlayerPrefs.GetInt(modKey + "_MaxScore", 0);
correct = PlayerPrefs.GetInt(modKey + "_Correct", 0);
wrong = PlayerPrefs.GetInt(modKey + "_Wrong", 0);
}
// ---------------------------------------------------------------
void PrepareTexts()
{
SetTextZero(scoreText);
SetTextZero(maxScoreText);
SetTextZero(correctText);
SetTextZero(wrongText);
}
void SetTextZero(TMP_Text txt)
{
if (txt == null) return;
txt.text = "0";
txt.transform.localScale = Vector3.zero;
}
// ---------------------------------------------------------------
IEnumerator PlayRevealSequence()
{
yield return StartCoroutine(RevealStat(scoreText, score));
yield return new WaitForSeconds(popInDelay);
yield return StartCoroutine(RevealStat(maxScoreText, maxScore));
yield return new WaitForSeconds(popInDelay);
yield return StartCoroutine(RevealStat(correctText, correct));
yield return new WaitForSeconds(popInDelay);
yield return StartCoroutine(RevealStat(wrongText, wrong));
}
IEnumerator RevealStat(TMP_Text txt, int targetValue)
{
if (txt == null) yield break;
// pop-in scale
Vector3 normal = Vector3.one;
float t = 0f;
while (t < 1f)
{
t += Time.deltaTime / Mathf.Max(0.01f, popInTime);
txt.transform.localScale = Vector3.Lerp(Vector3.zero, normal, EaseOutBack(t));
if (targetValue == 0)
txt.text = "0";
yield return null;
}
txt.transform.localScale = normal;
// count-up
if (targetValue > 0)
{
float ct = 0f;
while (ct < 1f)
{
ct += Time.deltaTime / Mathf.Max(0.01f, countUpDuration);
int shown = Mathf.RoundToInt(Mathf.Lerp(0, targetValue, EaseOutQuad(ct)));
txt.text = shown.ToString();
yield return null;
}
}
txt.text = targetValue.ToString();
}
// ---------------------------------------------------------------
void PlaySFX()
{
if (sfx && clickSound)
sfx.PlayOneShot(clickSound);
}
// ---------------------------------------------------------------
void Retry()
{
// 🔥 Mod 7 oyun sahnesine dön
SceneManager.LoadScene("Mod7");
}
// ---------------------------------------------------------------
void ExitToMenu()
{
SceneManager.LoadScene("Anamen");
}
// ---------------------------------------------------------------
float EaseOutBack(float t)
{
t = Mathf.Clamp01(t);
float c1 = 1.70158f;
float c3 = c1 + 1f;
return 1f + c3 * Mathf.Pow(t - 1f, 3f) + c1 * Mathf.Pow(t - 1f, 2f);
}
float EaseOutQuad(float t)
{
t = Mathf.Clamp01(t);
return 1f - (1f - t) * (1f - t);
}
}

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 56be283e892927547817c76f96c0329e

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e08b0cfd78da3f94b9cd70dfecc1eca4