Unity
Scene 변경시 이벤트 호출
SadEvil
2023. 11. 30. 20:20
반응형
유니티에서 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의 과정을 진행하는데, 그 과정에서 특정 메소드를 이벤트로 추가할 수 있습니다.
반응형