작성
·
332
0
예제에서는 매니저들을 관리하기위해서 모노비헤비어를 상속하지않은상태에서 매니저들을 받아서 관리하게 돼있는데 씬매니저를 만들면서 비동기 씬이동을 구현해보고 싶어서 해보고있는데 모노비헤비어가 상속되지않은 클래스에서는 코루틴을 사용할수가없다보니까 어떻게 해야할지 막혔습니다...
기존의 씬매니저에서
IEnumerator LoadAsynchronouslytime(string name)
{
AsyncOperation operation = SceneManager.LoadSceneAsync(name);
operation.allowSceneActivation = false;
float elapsedTime = 0f;
while (!operation.isDone)
{
elapsedTime += Time.deltaTime;
Debug.Log(elapsedTime);
slider.value = elapsedTime / 10f;
if (elapsedTime > 10f)
{
operation.allowSceneActivation = true;
}
yield return null;
}
}
이런식으로 비동기 코드를 작성했는데요..
코루틴을 사용하면 정상작동을 하긴하는데 모노비헤비어를 상속받지않은 상태에서 어떻게 사용하는지 감이 안잡힙니다.
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다.
모노비헤비어를 상속받지 않은 클래스에서 코루틴을 사용하는 방법에 대해 궁금해하시는군요.
강의에서 관련된 질문에 답변된 내용이 있어 해당 내용을 공유드립니다. 코루틴을 사용할 때 MonoBehavior를 상속받지 않는 클래스의 경우, MonoBehavior를 상속받는 다른 객체(예: Managers)에 코루틴을 걸어주는 방법이 있습니다.
또 다른 질문에서는 SceneManagerEx에 구현하는 것이 맞는지에 대한 답변으로 MonoBehavior를 상속받는 Managers.Instance에 코루틴을 걸어주는 방법을 제안하기도 했습니다.
아래 링크에 접속하셔서 보다 자세한 답변을 확인하실 수 있습니다.
도움이 되셨길 바랍니다.