기타/Unity

[Unity] 씬이 로딩될 때 실행되는 함수 (SceneManager.sceneLoaded)

푸쿠이 2019. 11. 26. 15:47

https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager-sceneLoaded.html

 

Unity - Scripting API: SceneManagement.SceneManager.sceneLoaded

You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see: You've told us there are code samples on this page which don't work. If you know ho

docs.unity3d.com

 

using 을 해준다.

 

using UnityEngine.SceneManagement;

 

나의 경우에는 맵이 바뀔 때마다, (= 씬이 바뀔 때마다)

화면이 서서히 밝아지는 Fade in 효과를 넣기 위해 사용했다.

 

void OnEnable()
{
	// 델리게이트 체인 추가
	SceneManager.sceneLoaded += OnSceneLoaded;
}

private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
	// Debug.Log("씬 교체됨, 현재 씬: " + scene.name);

	// 씬 전환 효과 (Fade In)
	GameUiManager.instance.ShowFadeIn();
}

void OnDisable()
{
	// 델리게이트 체인 제거
	SceneManager.sceneLoaded -= OnSceneLoaded;
}