added some stuff
This commit is contained in:
parent
9b69003715
commit
3dbf2f9010
520 changed files with 176780 additions and 2 deletions
|
@ -0,0 +1,130 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.Events;
|
||||
|
||||
namespace Lemon.GenericLib.SceneManagement {
|
||||
public class SceneTransition : MonoBehaviour
|
||||
{
|
||||
public static SceneTransition Instance;
|
||||
|
||||
|
||||
//singleton pattern
|
||||
private void Awake()
|
||||
{
|
||||
if (Instance == null)
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
if (Instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[SerializeField] float transitionTime;
|
||||
//[SerializeField] UITransitionAnimator transitionAnimator;
|
||||
[SerializeField] bool enableStartingTransition = true;
|
||||
|
||||
[SerializeField] UnityEvent transitionEnterFunction;
|
||||
[SerializeField] UnityEvent transitionExitFunction;
|
||||
|
||||
|
||||
private bool isTransitionAvailable = true;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
|
||||
if (enableStartingTransition)
|
||||
{
|
||||
isTransitionAvailable = false;
|
||||
transitionEnterFunction?.Invoke();
|
||||
//transitionAnimator.TransitionIn();
|
||||
StartCoroutine(EnableTransition());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void TransitionScene(int sceneIndex)
|
||||
{
|
||||
if (!isTransitionAvailable) return;
|
||||
isTransitionAvailable = false;
|
||||
transitionExitFunction?.Invoke();
|
||||
//transitionAnimator.TransitionOut();
|
||||
StartCoroutine(LoadScene(sceneIndex));
|
||||
}
|
||||
|
||||
public void TransitionScene(string sceneName)
|
||||
{
|
||||
if (!isTransitionAvailable) return;
|
||||
isTransitionAvailable = false;
|
||||
transitionExitFunction?.Invoke();
|
||||
//transitionAnimator.TransitionOut();
|
||||
StartCoroutine(LoadScene(sceneName));
|
||||
}
|
||||
|
||||
public void RestartScene()
|
||||
{
|
||||
TransitionScene(SceneManager.GetActiveScene().buildIndex);
|
||||
}
|
||||
|
||||
public void QuitGame()
|
||||
{
|
||||
transitionExitFunction?.Invoke();
|
||||
StartCoroutine(QuitGameRoutine());
|
||||
}
|
||||
|
||||
public void TransitionNextScene()
|
||||
{
|
||||
if (!isTransitionAvailable) return;
|
||||
isTransitionAvailable = false;
|
||||
transitionExitFunction?.Invoke();
|
||||
//transitionAnimator.TransitionOut();
|
||||
StartCoroutine(LoadScene(SceneManager.GetActiveScene().buildIndex + 1));
|
||||
}
|
||||
public void TransitionPreviousScene()
|
||||
{
|
||||
if (!isTransitionAvailable) return;
|
||||
isTransitionAvailable = false;
|
||||
transitionExitFunction?.Invoke();
|
||||
//transitionAnimator.TransitionOut();
|
||||
StartCoroutine(LoadScene(SceneManager.GetActiveScene().buildIndex - 1));
|
||||
}
|
||||
|
||||
public void TransitionScene(int sceneIndex, bool useAnimation = true)
|
||||
{
|
||||
transitionExitFunction?.Invoke();
|
||||
// transitionAnimator.TransitionOut();
|
||||
StartCoroutine(LoadScene(sceneIndex));
|
||||
}
|
||||
|
||||
IEnumerator LoadScene(int sceneIndex)
|
||||
{
|
||||
yield return new WaitForSeconds(transitionTime);
|
||||
SceneManager.LoadScene(sceneIndex);
|
||||
}
|
||||
|
||||
IEnumerator LoadScene(string sceneName)
|
||||
{
|
||||
yield return new WaitForSeconds(transitionTime);
|
||||
SceneManager.LoadScene(sceneName);
|
||||
}
|
||||
|
||||
IEnumerator EnableTransition()
|
||||
{
|
||||
yield return new WaitForSeconds(transitionTime);
|
||||
isTransitionAvailable = true;
|
||||
}
|
||||
|
||||
IEnumerator QuitGameRoutine()
|
||||
{
|
||||
yield return new WaitForSeconds(transitionTime);
|
||||
Application.Quit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 76ad778d7bf1bbc41bacdfd410da4a84
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,55 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Lemon.GenericLib.SceneManagement
|
||||
{
|
||||
public class TransitionUI : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private CanvasGroup canvasGroup;
|
||||
[SerializeField] private bool useDefaultFadeTransition;
|
||||
[SerializeField] public float effectDuration;
|
||||
[SerializeField] private LeanTweenType fadeEffectType;
|
||||
//[SerializeField] float threshold;
|
||||
//[SerializeField] float rate;
|
||||
//[SerializeField] GameObject transitionObject;
|
||||
|
||||
|
||||
private float targetAlpha = 1;
|
||||
|
||||
public void TransitionAnimationEnter()
|
||||
{
|
||||
|
||||
targetAlpha = 0;
|
||||
if (useDefaultFadeTransition)
|
||||
{
|
||||
canvasGroup.LeanAlpha(targetAlpha, effectDuration).setEase(fadeEffectType).setOnComplete(() => { canvasGroup.blocksRaycasts = false; });
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void TransitionAnimationExit()
|
||||
{
|
||||
targetAlpha = 1;
|
||||
if (useDefaultFadeTransition)
|
||||
{
|
||||
canvasGroup.LeanAlpha(targetAlpha, effectDuration).setEase(fadeEffectType).setOnComplete(() => { canvasGroup.blocksRaycasts = true; });
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//float alpha = 0;
|
||||
//public void Update() {
|
||||
// alpha = canvasGroup.alpha;
|
||||
|
||||
// alpha = Mathf.Lerp(alpha, targetAlpha, rate * Time.deltaTime);
|
||||
|
||||
|
||||
// canvasGroup.alpha = alpha;
|
||||
// canvasGroup.blocksRaycasts = (alpha > threshold);
|
||||
|
||||
//}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cdf26c62e5d4b2d4490ef743edfbe89b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Add table
Add a link
Reference in a new issue