TIL 1222 타임,오디오 매니저

강성원·2023년 12월 22일
0

TIL 오늘 배운 것

목록 보기
2/69
post-thumbnail

오늘 한 일

타임 매니저 구현하기

내가 맡은 부분은 카드 매칭 시 실패하면 시간이 증가하는 기능이었다.
time += 3.0f;이 코드 하나만 써주면 됐지만! 게임 매니저에 코드 몰아넣는 하드코딩은 지양해야한다.
그래서 타이머 매니저를 만들었다. 대략적인 기능은 아래와 같다.

  • 경과하는 시간을 관리한다.
  • 인자로 받은 값 만큼 경과 시간을 증감시키는 함수를 가지고있다.
  • 시간을 멈추는 것도 게임 매니저에서 생으로 하지 않고 StopTimer()함수를 호출하도록 했다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TimerManager : MonoBehaviour
{
    public static TimerManager instance;

    public float elapsedTime { get; private set; } // 경과한 시간

    private void Awake() //초기화
    {
        instance = this;
        Time.timeScale = 1f;
    }
    void Start() //초기화
    {
        elapsedTime = 0.0f;
    }

    void Update() //경과한 시간 증가
    {
        elapsedTime += Time.deltaTime;
        if (elapsedTime >= 300.0f)
            elapsedTime = 300.0f;
    }

    public void IncreaseTime(float plusTime) // 인자로 받은 값 만큼 경과한 시간 증가
    {
        elapsedTime += plusTime;
    }

    public void DecreaseTime(float minusTime) // 인자로 받은 값 만큼 경과한 시간 감소
    {
        elapsedTime -= minusTime;
    }

    public void StopTimer() //timescale 0할당해서 시간 흐르지 않도록 함
    {
        Time.timeScale = 0.0f;
    }
}

게임매니저에서는 위 함수들을 호출만 해주면 된다.
타이머 텍스트에 숫자 표시하는 것도 여기서 해주면 좋지 않을까 생각이 든다.

오디오 매니저 부족한 부분 채우기(배경음 등)

이거 8시에 각자 한 일을 말하는 시간에 까먹고 말 안했다..ㅋㅋ
오디오 매니저에 아래 함수를 추가해줬다.
오디오 클립을 전달 받고 오디오 소스의 설정을 바꾸고 재생하는 간단한 함수다.
나중에 씬마다 배경음이 달라지는 것을 고려해서 좀 더 확장성있게 고칠 필요가 있어보인다.

public void BGMPlay(AudioClip bgm) //배경음 플레이 해주는 함수
{
    audioSource.clip = bgm;
    audioSource.loop = true;//배경음이니까 계속 나오도록
    audioSource.volume = 0.3f;
    audioSource.Play();
}

오늘 느낀점

  • 다들 각자만의 방법으로 문제를 해결해오는 모습을 보니 신기하기도 하고, 부트캠프 하기를 잘했다..라는 생각도 들었다.
    항상 느끼지만 내 코드, 내 프로그램이 아니면 마냥 신기하다 ㅎㅎ

  • 오늘은 오전에 Git 특강을 들었다. 깃을 다루는 것도 좀 헷갈렸지만 걱정되는 것은 지금 짜고 있는 코드를 합칠 때 일어날 충돌들.. 무조건 충돌이 발생하겠지만 해결하는 과정도 즐겨야지 ㅎㅎㅎ


내일 할 일

  • 팀원 중 한 분이 시간 추가될 때 마다 위에 텍스트를 띄우는 방식을 말씀해주셔서 그것을 적용해봐야겠다.
    [텍스트를 띄우고 없애는 방식, 시간(실수값) 표시 방법] 이 2개를 중점으로 보면 될 것 같다.

  • 오늘 구글링하다가 코루틴을 좀 자세히 보게 됐는데, 아직은 어려워서 주말동안 익숙해지도록 해야겠다.

profile
개발은삼순이발

0개의 댓글