Unity Chapter 11-17. 좀비 TPS 게임 만들기 : Game Manager
카테고리: Unity Lesson 1
태그: Unity Game Engine
인프런에 있는 이제민님의 레트로의 유니티 C# 게임 프로그래밍 에센스 강의를 듣고 정리한 필기입니다. 😀
🌜 [레트로의 유니티 C# 게임 프로그래밍 에센스] 강의 들으러 가기!
Chapter 11. 좀비 TPS 게임 만들기
📜 GameManager.cs
- 빈 게임 오브젝트인
Game Manager
만들기 - 📜Game Manager.cs 를 붙여준다.
using UnityEngine;
// 점수와 게임 오버 여부, 게임 UI를 관리하는 게임 매니저
public class GameManager : MonoBehaviour
{
private static GameManager instance; // 싱글톤이 할당될 static 변수
// 외부에서 싱글톤 오브젝트를 가져올때 사용할 프로퍼티
public static GameManager Instance
{
get
{
// 만약 싱글톤 변수에 아직 오브젝트가 할당되지 않았다면
if (instance == null)
// 씬에서 GameManager 오브젝트를 찾아 할당
instance = FindObjectOfType<GameManager>();
// 싱글톤 오브젝트를 반환
return instance;
}
}
private int score; // 현재 게임 점수
public bool isGameover { get; private set; } // 게임 오버 상태
private void Awake()
{
// 씬에 싱글톤 오브젝트가 된 다른 GameManager 오브젝트가 있다면 자신을 파괴
if (Instance != this) Destroy(gameObject);
}
// 점수를 추가하고 UI 갱신
public void AddScore(int newScore)
{
// 게임 오버가 아닌 상태에서만 점수 증가 가능
if (!isGameover)
{
// 점수 추가
score += newScore;
// 점수 UI 텍스트 갱신
UIManager.Instance.UpdateScoreText(score);
}
}
// 게임 오버 처리
public void EndGame()
{
// 게임 오버 상태를 참으로 변경
isGameover = true;
// 게임 오버 UI를 활성화
UIManager.Instance.SetActiveGameoverUI(true);
}
}
싱글톤으로 구현이 되어 있다.
public void AddScore(int newScore)
점수를 더하고 점수 UI를 띄운다.
- 게임 오버 상태가 아닐 때만 점수를 더해준다.
- 점수 UI를 띄운다.
public void EndGame()
게임을 끝내는 UI를 띄운다.
isGameover = true
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기