﻿using UnityEngine;

namespace JLGames.RocketDriver.Actions.ThreadEvent
{
    public interface IThreadEventProxy
    {
        /// <summary>
        /// Whether to main thread proxy mode
        /// 是否为主线程代理模式
        /// </summary>
        bool OnProxy { get; }

        /// <summary>
        /// Enable main thread proxy mode
        /// 开启主线程代理模式
        /// </summary>
        /// <param name="carrier"></param>
        void OpenMainThreadProxy(GameObject carrier);

        /// <summary>
        /// Turn off main thread proxy mode
        /// 关闭主线程代理模式
        /// </summary>
        void CloseMainThreadProxy();
    }
}