분류 전체보기56 컨셉 예시 보호되어 있는 글 입니다. 2025. 4. 7. static vs 참조 주입(manager = this) / 게임 로직(Game Logic) 이전 Undead Survivor 프로젝트와 달리 이번 프로젝트에선 GameManager를 static으로 사용하지 않고, Dongle.cs에서 manager를 따로 연결했다. 이 차이점과 언제 사용하는 지에 대해 궁금해서 알아봤다. 용어 정리용어설명static모든 스크립트 어디서든 접근 가능한 전역적인 공유 변수this현재 클래스 인스턴스를 의미하는 키워드instance클래스를 new나 컴포넌트로 만든 실제 오브젝트 하나하나언제 static을 쓰는 게 좋을까?- 전역에서 자주 접근해야 할 때- GameManager가 하나뿐이고 중심 역할일 때- 빠르게 개발하거나 프로토타입일 때- 테스트나 구조화, 멀티 씬 지원이 필요할 땐 불리public static GameManager instance;void Aw.. 2025. 3. 27. 인보크(Invoke)와 코루틴(Corutine) / 게임 매니저(Game Manager) Invoke특정 메서드를 일정 시간 후에 한 번 실행할 때 사용한다.(아주 간단하게 시간 지연 호출이 필요할 때) 사용 방법Invoke("MethodName", 3f); // 3초 후 해당 메서드 실행InvokeRepeating("MethodName", delayTime, repeatRate); // 일정 시간 뒤에 실행하고, 반복 실행CancelInvoke("MethodName"); // 반복 중단Corutinehttps://hwan91.tistory.com/47 코루틴(Corutine) / 적 생성(Enemy, Spawn)CorutineIEnumerator는 **코루틴 전용 반환형(인터페이스)**이다.코루틴은 일반 함수와 다르게, 실행 도중 yield return을 만나면 일시 중지되었다가 나중에 다.. 2025. 3. 27. 싱글톤 패턴(Singleton Pattern) / 게임 매니저(Game Manager) / 오디오 매니저(Audio Manager) Singleton Pattern싱글톤 패턴은 게임에서 "하나만 존재해야 하는 객체"를 만들 때 사용하는 디자인 패턴이다.예를 들어, GameManager(게임 전체 관리), AudioManager(배경음, 효과음 관리), UIManager(UI 관리) 이런 것들은 굳이 여러 개 만들 필요가 없고 어디서든 쉽게 접근할 수 있어야 한다.그래서 싱글톤 패턴을 사용하면 딱 하나만 존재하도록 강제할 수 있다. 기본 패턴 코드public class GameManager : MonoBehaviour{ public static GameManager instance; // 자기 자신을 저장할 변수 (정적 변수) void Awake() { if (instance == null) // 처음 실.. 2025. 3. 19. 로컬 저장소(PlayerPrefs) / 업적 시스템(Achievement System) PlayerPrefs로컬 저장소 기능으로, SetInt(), SetFloat(), SetString()을 사용해서 숫자, 실수, 문자열 데이터를 저장 가능하다.게임이 꺼져도 데이터가 유지된다. (PlayerPrefs.Save()를 명시적으로 호출하지 않아도 자동 저장됨) 사용 방법PlayerPrefs.SetInt("HighScore", 100);PlayerPrefs.SetString("PlayerName", "Alex");PlayerPrefs.Save(); // 저장 (자동으로 저장되므로 생략 가능)- "HighScore" 키에 100 저장- "PlayerName" 키에 "Alex" 저장 PlayerPrefs에서 데이터 불러오기int score = PlayerPrefs.GetInt("HighScore".. 2025. 3. 19. 레벨업 시스템(LevelUp System) / 손과 무기 장착 표현(Hands) / 캐릭터 선택(Character Select) LevelUp.cs플레이어가 레벨업할 때 실행되는 UI 관리 스크립트로, 레벨업 UI를 표시하고 랜덤한 3개의 아이템을 선택하여 활성화,플레이어가 선택한 아이템을 적용하는 역할을 한다.using System.Collections;using System.Collections.Generic;using UnityEngine;public class LevelUp : MonoBehaviour{ RectTransform rect; // 레벨업 UI의 크기 및 위치 조절 Item[] items; // 레벨업 UI에서 표시할 아이템 목록 void Awake() { rect = GetComponent(); // GetComponentsInChildren(true) = 비활성.. 2025. 3. 19. 이전 1 2 3 4 5 ··· 10 다음