package AIClientFacade.Interface; import AIRunner.Interface.IAIRunner; import AgentSystemPluginAPI.Contract.TAgentSystemDescription; import EnvironmentPluginAPI.Exceptions.TechnicalException; import NetworkAdapter.Interface.Exceptions.NotConnectedException; import PluginLoader.Interface.Exceptions.PluginNotReadableException; import ZeroTypes.Settings.SettingException; import java.util.List; /** * */ public interface IAIClientFacade extends IAIRunner { //region Network /** * True, if an active connection to a GameServer is established. * @return */ public boolean isConnected(); /** * Returns the id that was assigned by the server. * @return >= 0 * @throws NetworkAdapter.Interface.Exceptions.NotConnectedException if no server connection was established. */ public int getClientId() throws NotConnectedException; //endregion //region Plugins /** * Returns a list of all available agent system plugins. * @return empty if no plugins found. */ public List<TAgentSystemDescription> getAvailableAgentSystems() throws TechnicalException, SettingException, PluginNotReadableException; //endregion }