//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using System;
using System.Collections.Generic;
namespace GameFramework.Network
{
///
/// 网络管理器接口。
///
public interface INetworkManager
{
///
/// 获取网络频道数量。
///
int NetworkChannelCount
{
get;
}
///
/// 网络连接成功事件。
///
event EventHandler NetworkConnected;
///
/// 网络连接关闭事件。
///
event EventHandler NetworkClosed;
///
/// 网络心跳包丢失事件。
///
event EventHandler NetworkMissHeartBeat;
///
/// 网络错误事件。
///
event EventHandler NetworkError;
///
/// 用户自定义网络错误事件。
///
event EventHandler NetworkCustomError;
///
/// 检查是否存在网络频道。
///
/// 网络频道名称。
/// 是否存在网络频道。
bool HasNetworkChannel(string name);
///
/// 获取网络频道。
///
/// 网络频道名称。
/// 要获取的网络频道。
INetworkChannel GetNetworkChannel(string name);
///
/// 获取所有网络频道。
///
/// 所有网络频道。
INetworkChannel[] GetAllNetworkChannels();
///
/// 获取所有网络频道。
///
/// 所有网络频道。
void GetAllNetworkChannels(List results);
///
/// 创建网络频道。
///
/// 网络频道名称。
/// 网络服务类型。
/// 网络频道辅助器。
/// 要创建的网络频道。
INetworkChannel CreateNetworkChannel(string name, ServiceType serviceType, INetworkChannelHelper networkChannelHelper);
///
/// 销毁网络频道。
///
/// 网络频道名称。
/// 是否销毁网络频道成功。
bool DestroyNetworkChannel(string name);
}
}