using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Threading.Tasks;
namespace TinaX.Services
{
///
/// TinaX Service Provider 服务提供者
///
public interface IXServiceProvider
{
string ServiceName { get; }
///
/// after "OnInit" and before "OnStart"
///
void OnServiceRegister(IXCore core);
///
/// before "OnServiceRegister" and "OnStart"
///
/// if return not null , framework services initialization workflow will break.
Task OnInit(IXCore core);
///
/// after "OnInit" and "OnServiceRegister"
///
/// if return not null , framework services start workflow will break.
Task OnStart(IXCore core);
void OnQuit();
Task OnRestart();
}
}