OctoCore 0.0.1
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
|
||||
namespace OctoCore
|
||||
{
|
||||
[DefaultExecutionOrder(-101)]
|
||||
public class OctoEvents : MonoBehaviour
|
||||
{
|
||||
public static OctoEvents Instance { get; private set; }
|
||||
|
||||
[SerializeField] private UnityEvent _onPlatformInitialized;
|
||||
[SerializeField] private UnityEvent _onSaveInitialized;
|
||||
[SerializeField] private UnityEvent _onInputsInitialized;
|
||||
[SerializeField] private UnityEvent _onLocalizationInitialized;
|
||||
[SerializeField] private UnityEvent _onScenesInitialized;
|
||||
[SerializeField] private UnityEvent _onUiInitialized;
|
||||
[SerializeField] private UnityEvent _onOctoCoreInitialized;
|
||||
|
||||
bool _platformInitialized;
|
||||
bool _saveInitialized;
|
||||
bool _inputsInitialized;
|
||||
bool _localizationInitialized;
|
||||
bool _scenesInitialized;
|
||||
bool _uiInitialized;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
if (Instance == this)
|
||||
Instance = null;
|
||||
}
|
||||
|
||||
private void SetOctoCoreInitialized()
|
||||
{
|
||||
if (_platformInitialized &&
|
||||
_saveInitialized &&
|
||||
_inputsInitialized &&
|
||||
_localizationInitialized &&
|
||||
_scenesInitialized &&
|
||||
_uiInitialized)
|
||||
{
|
||||
Debug.Log($"[OctoCore] OctoCore Initialized");
|
||||
_onOctoCoreInitialized?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
public void SetPlatformInitialized()
|
||||
{
|
||||
_onPlatformInitialized?.Invoke();
|
||||
_platformInitialized = true;
|
||||
SetOctoCoreInitialized();
|
||||
}
|
||||
|
||||
public void SetSaveInitialized()
|
||||
{
|
||||
_onSaveInitialized?.Invoke();
|
||||
_saveInitialized = true;
|
||||
SetOctoCoreInitialized();
|
||||
}
|
||||
|
||||
public void SetInputsInitialized()
|
||||
{
|
||||
_onInputsInitialized?.Invoke();
|
||||
_inputsInitialized = true;
|
||||
SetOctoCoreInitialized();
|
||||
}
|
||||
|
||||
public void SetLocalizationInitialized()
|
||||
{
|
||||
_onLocalizationInitialized?.Invoke();
|
||||
_localizationInitialized = true;
|
||||
SetOctoCoreInitialized();
|
||||
}
|
||||
|
||||
public void SetScenesInitialized()
|
||||
{
|
||||
_onScenesInitialized?.Invoke();
|
||||
_scenesInitialized = true;
|
||||
SetOctoCoreInitialized();
|
||||
}
|
||||
|
||||
public void SetUiInitialized()
|
||||
{
|
||||
_onUiInitialized?.Invoke();
|
||||
_uiInitialized = true;
|
||||
SetOctoCoreInitialized();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user