중급 프로그래머 가는 길 재미있게 가보자!
안녕하세요. 프로그래머 JD입니다.
이번글은 BuildManager 클래스를 설명하는 시간을 갖겠습니다.
거두절미하고 BuildManager 클래스 확인해 보겠습니다.
using UnityEngine;
public class BuildManager : MonoBehaviour
{
public static BuildManager instance;
private void Awake()
{
if(instance != null)
{
Debug.LogError("More than one BuildManager in scene!");
return;
}
instance = this;
}
public GameObject standardTurretPrefab;
private GameObject turretToBuild;
private void Start()
{
turretToBuild = standardTurretPrefab;
}
public GameObject GetTurretToBuild()
{
return turretToBuild;
}
}
멤버변수인 instance가 있습니다.
static으로 설정한이유는 모든 객체가 같은 속성으로 되기위해(공유하기위해) 설정했습니다.
Awake()문입니다.
private void Awake()
{
if(instance != null)
{
Debug.LogError("More than one BuildManager in scene!");
return;
}
instance = this;
}
조건문 instance 가 있는경우 즉 이 클래스가 두번 선언한경우 입니다.
싱글턴 패턴은 객체를 공유하기위한 패턴이라서 이 클래스가 두개이상있는경우 객체들은 어떤것을 공유해야할줄 몰라 에러가 생깁니다.
그래서 두개이상 생성될경우의 예외를 방지하기위해 예외처리했습니다.
조건문을 빠져나와서 자신의 주소값을 instance에 대입합니다.
여기까지가 싱글턴 패턴에 기본 틀 입니다.
그런다음 public 으로 할당된 object를 private 로 할당된 object에 대입합니다.
유니티 에디트 화면으로 돌아가 public으로선언한 변수들을 대입해줍니다.
www.youtube.com/watch?v=OjvNfuOZI-I
여기까지 해서 타워건설 프로젝트는 마무리됩니다.
포스트 양조절을 실패해서 오늘은 여기까지해서 마무리 하겠습니다.
다음시간에는 Camera 이동하는 프로젝트로 찾아오겠습니다.
읽어주셔서 감사하고 Brackeys에게 감사합니다.
출처 www.youtube.com/watch?v=t7GuWvP_IEQ&list=PLPV2KyIb3jR4u5jX8za5iU1cqnQPmbzG0&index=6
'프로그래밍 > 유니티' 카테고리의 다른 글
| 유니티 3D 게임만들기 타워 디펜스-타워 건설 (2) (0) | 2020.10.08 |
|---|---|
| 유니티 3D 게임만들기 타워 디펜스-타워 건설 (1) (0) | 2020.10.08 |
| 유니티 3D 게임만들기 타워 디펜스-타워생성(5) (0) | 2020.10.08 |
| 유니티 3D 게임만들기 타워 디펜스-타워 생성(4) (0) | 2020.10.02 |
| 유니티 3D 게임만들기 타워 디펜스-타워 생성(3) (0) | 2020.09.30 |