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); AppConfig.PackageDomainName = domain; _fsmSystem.SetCurState(nameof(ResStartState)); } public void OpenDomain() { AppConfig.PackageDomainName = domain; _fsmSystem.SetCurState(nameof(ResStartState)); } public void OpenDomain(string domain, OpenDomainType openDomainType) { _fsmSystem.SetOpenDomainType(openDomainType); AppConfig.PackageDomainName = domain; _fsmSystem.SetCurState(nameof(ResStartState)); } public void CloseDomain() { _fsmSystem.SetCurState(nameof(DefaultState)); } private void Update() { _fsmSystem.CurState.OnUpdate(); } } /// /// 打开的项目类型 /// DEFAULT:默认打开方式 /// VIOICE:语音打开方式 /// public enum OpenDomainType { DEFAULT, VIOICE } }