11111
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Stary.Evo
|
||||
{
|
||||
public class HybridClREntrance : MonoBehaviour
|
||||
{
|
||||
public static HybridClREntrance Global;
|
||||
public string domain;
|
||||
|
||||
private FsmLoadSystem _fsmSystem;
|
||||
/// <summary>
|
||||
/// 即将加载的domain场景
|
||||
/// </summary>
|
||||
public string loadDomain;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (Global == null)
|
||||
{
|
||||
Global = this;
|
||||
DontDestroyOnLoad(gameObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
|
||||
_fsmSystem = new FsmLoadSystem();
|
||||
// 初始化日志
|
||||
_fsmSystem.AddState(new ResStartState(_fsmSystem));
|
||||
_fsmSystem.AddState(new ResUpdateServerState(_fsmSystem));
|
||||
_fsmSystem.AddState(new ResUpdateLocalState(_fsmSystem));
|
||||
_fsmSystem.AddState(new HotFixState(_fsmSystem));
|
||||
_fsmSystem.AddState(new LoadResState(_fsmSystem));
|
||||
//_fsmSystem.AddState(new LoadResMainState(_fsmSystem));
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
if(string.IsNullOrEmpty(domain))
|
||||
domain = "Main";
|
||||
#elif UNITY_EDITOR
|
||||
// var immersalSDK = FindObjectOfType<ImmersalSDK>();
|
||||
// immersalSDK.onPoseFound.Invoke();
|
||||
#endif
|
||||
|
||||
AppConfig.PackageDomainName = domain;
|
||||
_fsmSystem.SetCurState(nameof(ResStartState));
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (_fsmSystem.CurState != null)
|
||||
_fsmSystem.CurState.OnUpdate();
|
||||
}
|
||||
|
||||
public void OpenDomain()
|
||||
{
|
||||
AppConfig.PackageDomainName = domain;
|
||||
_fsmSystem.SetCurState(nameof(ResStartState));
|
||||
}
|
||||
|
||||
public void OpenDomain(string domain, OpenDomainType openDomainType)
|
||||
{
|
||||
this.domain = domain;
|
||||
_fsmSystem.SetOpenDomainType(openDomainType);
|
||||
AppConfig.PackageDomainName = domain;
|
||||
_fsmSystem.SetCurState(nameof(ResStartState));
|
||||
}
|
||||
|
||||
|
||||
public void CloseDomain()
|
||||
{
|
||||
_fsmSystem.SetCurState(nameof(DefaultStateAsync));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 打开的项目类型
|
||||
/// DEFAULT:默认打开方式
|
||||
/// VIOICE:语音打开方式
|
||||
/// </summary>
|
||||
public enum OpenDomainType
|
||||
{
|
||||
Editor,
|
||||
PointCloud,
|
||||
VIOICE,
|
||||
ImageTracked
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user