Тёмная тема
Всех приветствую, разрабатываю игру на Unity и столкнулся с проблемой. Я создал коллайдер и когда в него входит игрок должен загружаться другой уровень, но почему то не загружается, хоть в Hierarche появляется надпись Scene(isLoading).
Кто знает в чем проблема, подскажите пожалуйста что я делаю не так.
Скрипт при вхождении в коллайдер:
public class LoadScene : MonoBehaviour { public string SceneName; private void OnTriggerEnter(Collider other) { SceneTransition.SwitchToScene(SceneName); } }
Скрипт управления сценами и анимациями загрузки:
public class SceneTransition : MonoBehaviour { public TextMeshProUGUI LoadingPercentage; public Image LoadingProgressBar; static SceneTransition instance; static bool shouldPlayOpeningAnimation = false; private Animator componentAnimator; private AsyncOperation loadingSceneOperation; public static void SwitchToScene(string sceneName) { instance.componentAnimator.SetTrigger(name:"sceneClosing"); instance.loadingSceneOperation = SceneManager.LoadSceneAsync(sceneName); instance.loadingSceneOperation.allowSceneActivation = false; instance.LoadingProgressBar.fillAmount = 0; } // Start is called before the first frame update void Start() { instance = this; componentAnimator = GetComponent<Animator>(); if (shouldPlayOpeningAnimation) componentAnimator.SetTrigger(name: ("sceneOpening")); } // Update is called once per frame void Update() { if (loadingSceneOperation != null) { LoadingPercentage.text = Mathf.RoundToInt(loadingSceneOperation.progress * 100) + "%"; LoadingProgressBar.fillAmount = loadingSceneOperation.progress; } } public void OnAnimationOver() { shouldPlayOpeningAnimation = true; loadingSceneOperation.allowSceneActivation = true; } }
Все необходимые библиотеки подключены.
Кто вызывает OnAnimationOver() ?
Samaritan
Емае, спасибо за ответ. Я забыл добавить событие на вызов OnAnimationOver.