Files
plugin-library/Assets/Main/Script/Runtime/Init/HybridClREntrance.cs

72 lines
1.9 KiB
C#
Raw Normal View History

2025-05-23 18:26:47 +08:00
using System;
using System.Collections.Generic;
using Sirenix.OdinInspector;
using Stary.Evo;
using UnityEngine;
namespace Stary.Evo
{
public class HybridClREntrance : MonoBehaviour
{
private FsmLoadSystem _fsmSystem;
public string domain;
private void Awake()
{
_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
domain = "Main";
#endif
_fsmSystem.SetOpenDomainType(OpenDomainType.DEFAULT);
2025-05-30 14:50:46 +08:00
AppConfig.PackageDomainName = domain;
2025-05-23 18:26:47 +08:00
_fsmSystem.SetCurState(nameof(ResStartState));
}
public void OpenDomain()
{
2025-05-30 14:50:46 +08:00
AppConfig.PackageDomainName = domain;
2025-05-23 18:26:47 +08:00
_fsmSystem.SetCurState(nameof(ResStartState));
}
public void OpenDomain(string domain, OpenDomainType openDomainType)
{
_fsmSystem.SetOpenDomainType(openDomainType);
2025-05-30 14:50:46 +08:00
AppConfig.PackageDomainName = domain;
2025-05-23 18:26:47 +08:00
_fsmSystem.SetCurState(nameof(ResStartState));
}
public void CloseDomain()
{
_fsmSystem.SetCurState(nameof(DefaultState));
}
private void Update()
{
_fsmSystem.CurState.OnUpdate();
}
}
/// <summary>
/// 打开的项目类型
/// DEFAULT:默认打开方式
/// VIOICE:语音打开方式
/// </summary>
public enum OpenDomainType
{
DEFAULT,
VIOICE
}
}