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 IMultiplayerManager : IManager { /// /// Fired when a player joins. /// event Action PlayerJoined; /// /// Fired when a player disconnects. /// event Action PlayerLeft; /// /// Fired when a chat message is received. /// event MessageReceivedDel MessageReceived; /// /// List of the banned SteamID's /// List BannedPlayers { get; } /// /// Send a chat message to all or one specific player. /// void SendMessage(string message, string author = "Server", long playerId = 0, string font = MyFontEnum.Blue); /// /// Kicks the player from the game. /// void KickPlayer(ulong steamId); /// /// Bans or unbans a player from the game. /// void BanPlayer(ulong steamId, bool banned = true); /// /// 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); } }