반응형
유니티에서 Scene을 변경할때 특정한 동작을 실행하고 싶을때, Load 또는 Unload시의 이벤트를 추가하는것으로 구현할 수 있습니다.
다음은 Scene이 변경될때 이전 Scene과 변경되는 Scene의 이름을 저장하는 클래스입니다.
public static class LoadSceneManager {
public static string previousSceneName;
public static string currentSceneName;
//앱 시작시 임의의 클래스에서 LoadSceneManager.Initialize()를 호출해야 각 이벤트들이 추가됩니다.
public static void Initialize() {
SceneManager.sceneLoaded += LoadSceneEvent;
SceneManager.sceneUnloaded += UnLoadSceneEvent;
}
private static void UnLoadSceneEvent(Scene scene) {
previousSceneName = scene.name;
}
private static void LoadSceneEvent(Scene scene, LoadSceneMode mode) {
currentSceneName = scene.name;
}
}
SceneManager.LoadScene을 호출하면 현재 Scene Unload & 다음 Scene Load의 과정을 진행하는데, 그 과정에서 특정 메소드를 이벤트로 추가할 수 있습니다.
반응형
'Unity' 카테고리의 다른 글
유니티 실행환경 프레임 고정시키기 + 에디터에서 프레임 확인하기 (3) | 2023.12.03 |
---|---|
Audiosource 출력 소리의 스펙트럼(파형) 시각화하기 (0) | 2023.12.01 |
Unity 인스펙터(inspector) 정리하기 (0) | 2023.12.01 |
Scene 이동시 이전 씬의 정보 저장 (0) | 2023.11.30 |
Unity에서 사용 가능한 C# BezierCurves 일반화 함수 (0) | 2023.11.30 |