게임을 만들기 위해서 유니티및 C# 언어에 대한 기초적인 지식을 익혔다.

Unity의 기본적인 상속관계, 내 코드가 Scene에 어떻게 적용되는지 등을 배웠다.

우리가 원하는 게임 게임의 구현을 위해 필수적인 버튼을 눌렀을때의 상호작용등을 코드를 직접 짜보며 배웠다.

using System.Collections;
using TMPro;
using UnityEngine;
using UnityEngine.UI;

public class TxtTestScript : MonoBehaviour
{
    public TextMeshProUGUI MoneyText;
    private int Money = 0;
    private float TotalTime = 2f;

    // 남은 시간초 표시 bar
    private bool isCoroutineRunning = false;
    public Slider timeBar;
    private float remainingTime;
    void Start()
    {
        UpdateMoney();
    }

    private void UpdateMoney() {
        MoneyText.text = "Money: " + Money.ToString();
    }

    public void AddMoney() // 1씩증가 버튼 콜백함수
    {
        Money++;
        UpdateMoney();
    }

    public void WaitAndAddMoney(int amount) // 기다리고 증가 버튼 콜백함수
    {
        if (!isCoroutineRunning) StartCoroutine(DelayedEvent(amount));
    }

    IEnumerator DelayedEvent(int amount) {
        isCoroutineRunning = true;
        remainingTime = TotalTime;
        timeBar.maxValue = TotalTime;

        while (remainingTime > 0f)
        {
            remainingTime -= Time.deltaTime;
            timeBar.value = remainingTime;
            yield return null;
        }

        timeBar.value = 0f;
        Money += amount;
        UpdateMoney();
        isCoroutineRunning = false;
    }
}