using System;
using System.Collections.Generic;
using System.Windows.Controls;
namespace VPet_Simulator.Windows.Interface;
///
/// 多人联机窗口接口 (访客表)
///
public interface IMPWindows
{
///
/// 访客表id
///
ulong LobbyID { get; }
///
/// 所有好友(不包括自己)
///
IEnumerable Friends { get; }
///
/// 主持人SteamID
///
ulong HostID { get; }
///
/// 当前玩家是否是主持人
///
bool IsHost { get; }
///
/// 事件:成员退出
///
event Action OnMemberLeave;
///
/// 事件:成员加入
///
event Action OnMemberJoined;
///
/// 给指定好友发送消息(数据包)
///
/// 好友id
/// 消息内容(数据包)
bool SendMessage(ulong friendid, MPMessage msg);
///
/// 给所有人发送消息
///
void SendMessageALL(MPMessage msg);
///
/// 发送日志消息
///
/// 日志
void Log(string message);
///
/// 收到消息日志 发送人id, 消息内容
///
event Action ReceivedMessage;
///
/// 事件: 结束访客表, 窗口关闭
///
event Action ClosingMutiPlayer;
///
/// 当前是否有游戏(其他mod的)正在进行 避免多个游戏同时进行而导致冲突
/// 如果你的游戏开始了, 请请设置为true, 并在游戏结束后设置为false
///
bool IsGameRunning { get; set; }
///
/// 获取访客表菜单栏,可以插入自己的菜单
///
TabControl TabControl { get; }
///
/// 是否可加入
///
bool Joinable { get; }
}