package net.ctdp.rfdynhud.gamedata;
import net.ctdp.rfdynhud.RFDynHUD;
import net.ctdp.rfdynhud.render.WidgetsDrawingManager;
import net.ctdp.rfdynhud.util.PluginINI;
public interface _LiveGameDataObjectsFactory
{
public abstract void init( boolean isEditorMode, boolean isSimulationMode );
/**
* @return a String, identifying the used simulation.
*/
public abstract String getGameId();
/**
* @param rfDynHUD the main {@link RFDynHUD} instance (could be null when in editor mode)
* @param drawingManager the widgets drawing manager
*
* @return the {@link GameEventsManager}.
*/
public abstract GameEventsManager newGameEventsManager( RFDynHUD rfDynHUD, WidgetsDrawingManager drawingManager );
public abstract LiveGameData newLiveGameData( GameEventsManager eventsManager );
public abstract GameFileSystem newGameFileSystem( PluginINI pluginIni );
public abstract ProfileInfo newProfileInfo( LiveGameData gameData );
public abstract ModInfo newModInfo( LiveGameData gameData );
public abstract TrackInfo newTrackInfo( LiveGameData gameData );
public abstract VehicleInfo newVehicleInfo( LiveGameData gameData );
public abstract VehiclePhysics newVehiclePhysics( LiveGameData gameData );
public abstract VehicleSetup newVehicleSetup( LiveGameData gameData );
public abstract DrivingAids newDrivingAids( LiveGameData gameData );
public abstract CommentaryRequestInfo newCommentaryRequestInfo( LiveGameData gameData );
public abstract GraphicsInfo newGraphicsInfo( LiveGameData gameData );
public abstract TelemetryData newTelemetryData( LiveGameData gameData );
public abstract ScoringInfo newScoringInfo( LiveGameData gameData );
public abstract VehicleScoringInfo[] newVehicleScoringInfos( LiveGameData gameData, int count, VehicleScoringInfo[] toRecycle );
public abstract WeatherInfo newWeatherInfo( LiveGameData gameData );
public abstract void loadVehiclePhysicsDefaults( VehiclePhysics physics );
public abstract void loadVehiclePhysics( LiveGameData gameData );
public abstract void loadVehicleSetupDefaults( LiveGameData gameData );
public abstract boolean loadVehicleSetupIfChanged( LiveGameData gameData );
}