c#8 [유니티/C#] 디자인 패턴 (1) - 싱글톤 패턴(Singleton)으로 스크립트 쉽게 호출하기 싱글톤 패턴이란 클래스의 인스턴스를 단 하나만 생성하도록 제한하는 패턴이다.이렇게 생성된 객체는 공유되어 어디서든 전역적으로 접근 가능하다.예를 들어 우리가 게임 전체를 총괄하는 GameManager라는 스크립트를 만들어 한 게임 오브젝트에 붙여두었다고 하자.그러면 우리는 GameManager를 사용하려면, 다른 스크립트에서 다음과 같은 과정을 거쳐야 한다.public class AnyOtherScript : MonoBehaviour{ public GameManager gameManager; // 이렇게 해서 하이어라키에서 직접 할당하거나}public class AnyOtherScript2 : MonoBehaviour{ private GameManager gameManager; v.. 2025. 3. 25. [유니티/C#] 씬(Scene) 이동하기 유니티에서는 씬(Scene)이라는 형식으로 여러 화면을 만들 수 있다.타이틀 화면, 게임 화면, ... 이런 식으로 구분되는 여러 씬들 간을 어떻게 이동할 수 있는지 살펴보자. 1. 씬 생성하기 [Project] 영역에서 우클릭하여 [Create - Scene - Scene] 을 선택하면 새로운 씬을 만들 수 있다. 2. 씬 등록하기씬을 생성만 해두었다면 나중에 빌드 시 제대로 로드 되지 않을 수 있다.[File - Build Profiles] 에서 [Scene List] 를 선택하면 빌드에 등록된 씬을 확인할 수 있는데,생성한 씬에 들어간 채로 `Add Open Scenes` 버튼을 누르면 SceneList에 새로 생성한 씬이 등록되는 것을 확인할 수 있다. 번호가 0으로 지정된 씬이 빌드를 실행했을 .. 2025. 3. 24. [유니티/C#] 이벤트(event) 사용하기 유니티에서 이벤트란 C#의 델리게이트(delegate)를 기반으로 하며, 게임 오브젝트나 컴포넌트 간의 상호작용을 쉽게 처리할 수 있게 해 준다.델리게이트(delegate): 특정 메서드를 가리키는 포인터 역할을 하는 참조 타입이벤트를 사용하면 함수를 직접 호출하는 것보다 게임 오브젝트 간 의존도를 낮출 수 있고, 상태를 보다 명확히 관리할 수 있게 된다.C# 이벤트 사용법예를 들어, 점수가 바뀌었을 때 점수 UI를 갱신해주는 기능을 만든다면 다음과 같이 이벤트를 사용할 수 있다.public event Action OnScoreChanged;public TextMeshProUGUI scoreText;public int score;void Start(){ OnScoreChanged += UpdateU.. 2025. 3. 23. [유니티/C#] Enum(열거형) 사용하기 Enum이란?Enum(열거형)이란 Enumeration 의 약자로, 정수형 값에 이름을 부여한 것이다.Enum을 사용하면 코드의 가독성을 높일 수 있고, 더 나아가 유지보수를 쉽게 할 수 있다.Enum은 다양한 선택지를 다뤄야 할 때나 상태 관리가 필요할 때 유용하게 사용된다.예를 들어 우리가 {타이틀 화면, 게임 플레이 중, 일시 정지, 게임 오버} 라는 네 가지 게임 상태를 가질 수 있다고 해보자.만약 이 값들을 일반적인 string으로 사용한다면 다음과 같을 것이다. string currentState = "";void Function(){ if (currentState == "Title") { } elseif (currentState == "Playing") { }.. 2025. 3. 22. [C#] 포맷 텍스트(Format Text) 소개 (string.Format, ToString, $ 문자열 보간법) 우리는 일반적으로 다음과 같이 문자열을 사용한다."Hello, World!"하지만 만약에, World 대신에 유저의 이름을 넣고 싶다거나,Hello 대신에 Good Bye를 넣고 싶다거나 하는 경우에는 어떻게 해야 할까?이런 식으로 문자열을 하나의 고정된 값으로 설정하지 않고 다양한 변수에 대응할 수 있게끔 도와주는 문법이 '포맷 텍스트(Format Text)' 이다. 오늘은 포맷 텍스트를 사용하는 방법을 살펴볼 것이다.포맷 텍스트를 사용하는 3가지 방법인 string.Format, $문자열 보간법, ToString 각각의 문법에 대한 설명과,포맷을 설정하는 2가지 방법인 사용자 포맷 지정자, 표준 포맷 지정자에 대해 정리할 예정이다. 1. 포맷 텍스트 메서드1.1. string.Format()Debu.. 2025. 2. 15. [유니티/C#] 간단한 조건문 축약해서 작성하기: 삼항 연산자(Conditional Operator) 우리가 코딩을 하다보면, 아주 단순한 조건문을 작성해야 할 때가 있다.예를 들어 b가 50보다 크다(b > 50)이라는 조건이 참이면 a가 1이 되고, 거짓이면 a가 -1이 된다면, 일반적인 경우 다음과 같은 코드를 작성하게 될 것이다. if (b > 50){ // 조건이 참일 때 a = 1;}else{ // 조건이 거짓일 때 a = -1;} 하지만 이것은 너무나도 비효율적이다. 가독성도 나쁘다.이렇게 단순한 조건문의 경우 삼항 연산자(Conditional Operator)를 사용하여 단 한 줄로 완성할 수 있다.아래는 위와 동일한 상황에 삼항 연산자를 사용한 예제이다. a = b > 50 ? 1 : -1; 무슨 암호같이 보이기도 한다.하지만 한 번 구조를 익히면, 쉽게 사용할 수 .. 2024. 12. 4. 이전 1 2 다음