using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using VRage.Game;
using VRage.Game.ModAPI;
namespace Torch.API.Managers
{
///
/// Delegate for received messages.
///
/// Message data.
/// Flag to broadcast message to other players.
public delegate void MessageReceivedDel(IChatMessage message, ref bool sendToOthers);
///
/// API for multiplayer related functions.
///
public interface IMultiplayerManagerBase : IManager
{
///
/// Fired when a player joins.
///
event Action PlayerJoined;
///
/// Fired when a player disconnects.
///
event Action PlayerLeft;
///
/// Gets a player by their Steam64 ID or returns null if the player isn't found.
///
IMyPlayer GetPlayerBySteamId(ulong id);
///
/// Gets a player by their display name or returns null if the player isn't found.
///
IMyPlayer GetPlayerByName(string name);
///
/// Gets the steam username of a member's steam ID
///
/// steam ID
/// steam username
string GetSteamUsername(ulong steamId);
}
}