using System.Collections.Generic; namespace Content.Server.Maps { /// /// Manages which station map will be used for the next round. /// public interface IGameMapManager { void Initialize(); /// /// Returns all maps eligible to be played right now. /// /// enumerator of map prototypes IEnumerable CurrentlyEligibleMaps(); /// /// Returns all maps that can be voted for. /// /// enumerator of map prototypes IEnumerable AllVotableMaps(); /// /// Returns all maps. /// /// enumerator of map prototypes IEnumerable AllMaps(); /// /// Attempts to select the given map. /// /// map prototype /// success or failure bool TrySelectMap(string gameMap); /// /// Forces the given map, making sure the game map manager won't reselect if conditions are no longer met at round restart. /// /// map prototype /// success or failure void ForceSelectMap(string gameMap); /// /// Selects a random map. /// void SelectRandomMap(); /// /// Gets the currently selected map, without double-checking if it can be used. /// /// selected map GameMapPrototype GetSelectedMap(); /// /// Gets the currently selected map, double-checking if it can be used. /// /// selected map GameMapPrototype GetSelectedMapChecked(bool loud = false); /// /// Checks if the given map exists /// /// name of the map /// existence bool CheckMapExists(string gameMap); } }