#region Copyright & License Information /* * Copyright 2007-2010 The OpenRA Developers (see AUTHORS) * This file is part of OpenRA, which is free software. It is made * available to you under the terms of the GNU General Public License * as published by the Free Software Foundation. For more information, * see LICENSE. */ #endregion using System.Drawing; using OpenRA.Network; using OpenRA.Traits; namespace OpenRA.Server { public interface IServerExtension { /// /// Return true to use the built-in handling /// bool OnReadyUp(Connection conn, Session.Client client); void OnStartGame(); /// /// Return true to use the built-in handling /// bool OnNickChange(Connection conn, Session.Client client, string newName); /// /// Return true to use the built-in handling /// bool OnRaceChange(Connection conn, Session.Client client, string newRace); /// /// Return true to use the built-in handling /// bool OnSlotChange(Connection conn, Session.Client client, Session.Slot slot, Map map); /// /// Return true to use the built-in handling /// bool OnTeamChange(Connection conn, Session.Client getClient, int team); /// /// Return true to use the built-in handling /// bool OnSpawnpointChange(Connection conn, Session.Client getClient, int spawnPoint); /// /// Return true to use the built-in handling /// bool OnColorChange(Connection conn, Session.Client getClient, Color fromArgb, Color color); /// /// Return true to use the built-in handling /// bool OnChat(Connection conn, string message, bool teamChat); void OnServerStart(); void OnServerStop(bool forced); void OnLoadMap(Map map); /// /// Return false to drop the connection /// bool OnValidateConnection(bool gameStarted, Connection newConn); void OnLobbySync(Session lobbyInfo, bool gameStarted); /// /// Return true to use the built-in handling /// bool OnPingMasterServer(Session lobbyInfo, bool gameStarted); /// /// Return true to use the built-in handling /// bool OnIngameChat(Session.Client client, string message, bool teamChat); void OnIngameSetStance(Player player, Player stanceForPlayer, Stance newStance); void OnLobbyUp(); void OnRejoinLobby(World world); } }