public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { var transitioner = animator.GetComponent <SceneTransitioner>(); if (transitioner != null) { SceneController.UnregisterTransitioner(transitioner); } else { Logger.LogError("Animator is missing a SceneTransitioner"); } }
public void Notify(TransitionState state) { switch (state) { case TransitionState.Intro: _scrollRect.content.anchoredPosition = Database.Load <WorldMapScrollData>(0).Value.scrollOffset; break; case TransitionState.Outro: var data = Database.Load <WorldMapScrollData>(0); data.Value.scrollOffset = _scrollRect.content.anchoredPosition; Database.Save(data); SceneController.UnregisterTransitioner(this); break; } }
public void Notify(TransitionState state) { switch (state) { case TransitionState.Loading: break; case TransitionState.Intro: break; case TransitionState.Outro: // return items to the pool before the scene changes. OnDestroy is too late. ClearGridNodeInstances(); ClearGridItemInstances(); SceneController.UnregisterTransitioner(this); break; } }
private void OnDestroy() { SceneController.UnregisterTransitioner(this); Level.StopListeningForLevelEvents(ReceiveLevelEvents); SpriteResource.ClearCache(); }
private void OnDestroy() { SceneController.UnregisterTransitioner(this); }