﻿namespace JLGames.RocketDriver.Games.NetManager.Virtual
{
    public interface IVirtualClient : INetClient
    {
        /// <summary>
        /// Connect to server
        /// 连接Server
        /// </summary>
        void Connect(IVirtualServerProxy server);

        /// <summary>
        /// Disconnect from server
        /// 断开Server连接
        /// </summary>
        void Disconnect();

        /// <summary>
        /// Reconnect to server
        /// 重连
        /// </summary>
        void Reconnect(IVirtualServerProxy server);

        /// <summary>
        /// Send a protocol request to the server
        /// 向Server发送协议请求
        /// </summary>
        /// <param name="protoId"></param>
        /// <param name="data"></param>
        void Request(string protoId, object data);
    }
}