본문 바로가기

분류 전체보기110

유니티 - 씬 이름을 Enum 으로 관리하기 [InitializeOnLoadMethod] 사용 유니티에서 빌드 세팅에 추가된 씬들을 Enum 으로 관리하고 싶다는 Needs 가 생겼다. 유니티에서는 씬에 접근할 때, 씬의 이름 string 이나, 씬의 BuildIndex int 로 접근하는데, 해당 방식이 코드 상에서 명확하지 않다는 점이 존재한다. 그렇다고 씬이 많아지면 일일히 빌드 인덱스에 대치되는 Enum을 손수 작성하기는 귀찮다. 따라서, 씬을 빌드 세팅에 추가하면, 자동으로 Enum Class 를 생성해주는 스크립트를 작성해보았다. 필요한 분이 계시다면 도움이 되었으면 합니다. using System.Collections.Generic; using System.IO; using UnityEditor; public class SceneNameEnumCreator { [InitializeOn.. 2023. 10. 26.
유니티 - Define Symbol 코드로 제어하기 PlayerSettings 클래스에는 Define Symbol 을 제어할 수 있는 함수가 있다. 이것들을 제어하여 원하는 Symbol 만 빌드에 추가하여 빌드 자동화에 도움을 줄 수 있다. PlayerSettings.SetScriptingDefineSymbolsForGroup(currentBuildTarget, defines); currentBuildTarget 은 BuildTargetGroup Type 인데 이것을 가져오는 방법은 아래에 있다. https://wildgoosechase.tistory.com/92 유니티 - 현재 BuildTargetGroup, BuildTarget 을 가져오는 방법 먼저, BuildTarget 을 가져온다. EditorUserBuildSettings.activeBuild.. 2023. 10. 24.
유니티 - 현재 BuildTargetGroup, BuildTarget 을 가져오는 방법 먼저, BuildTarget 을 가져온다. EditorUserBuildSettings.activeBuildTarget 가져온 BuildTarget 을 BuildPipeline.GetBuildTargetGroup() 의 인자로 넣어준다. BuildTargetGroup currentBuildTarget = BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget); 이렇게 하면 현재 BuildTargetGroup 을 가져올 수 있다. 이걸 무엇에 쓰냐? 코드로 현재 프로젝트의 Define Symbol 등을 제어할 때, BuildTarget 이나 BuildTargetGroup 이 필요하다. 2023. 10. 24.
유니티 커스텀 에디터 윈도우 생성 방법 public class CustomWindow : EditorWindow { private static string BUILD_PATH = $"BUILD"; [MenuItem("My Menu/Open Window")] public static void OpenCustomWindow() { CustomWindow currentWindow = EditorWindow.GetWindow(); if (currentWindow != null) { currentWindow.minSize = new Vector2(1000, 600); currentWindow.maxSize = new Vector2(1000, 600); currentWindow.Show(); } } } EditorWindow 를 상속받은 클래스를 만들고.. 2023. 10. 24.
[C#] 콘솔창으로 만드는 텍스트RPG 개요 콘솔창으로 텍스트 RPG를 구현한다. 화면 좌측 상단에는 플레이어의 정보가 나오며, 맵은 좌측상단에서 시작하여 우측하단으로 탈출하는 구조이다. 각 타일은 위험도에 따라 안전 - 초록색 / 보통 - 흰색 / 위험 - 노란색 으로 나누어진다. 위험도가 높을수록 더 강한 몬스터가 등장하며, 몬스터와는 홀,짝 대결을 하여 전투한다. 상점은 맵을 4분할 한 위치에 랜덤하게 각각 1개씩 생성되며, 물약을 구매할 수 있다. 게임화면은 30 프레임의 주기로 업데이트 된다. 제작 소요시간 : 5시간 내외 로직 매 프레임마다 화면을 새로 그려줄 것이다. 따라서 프레임 주기를 측정할 계산이 필요하다. const float waitTick = 1000 / 30; // Frame Rate long lastTick = 0;.. 2022. 7. 14.
[C++] 별 찍기 - 10 : 2447번 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 해석 재귀적으로 생각이 안나서 혼자 해결하지 못했다. [백준 / BOJ] - 2447번 별 찍기 -10 C++ 풀이 :: Just Give Me The Code (tistory.com) [백준 / BOJ] - 2447번 별 찍기 -10 C++ 풀이 백준 .. 2022. 7. 12.