net.ctdp.rfdynhud.gamedata
Class ProfileInfo

java.lang.Object
  extended by net.ctdp.rfdynhud.gamedata.ProfileInfo

public abstract class ProfileInfo
extends java.lang.Object

Model of the current player's profile information

Author:
Marvin Froehlich

Nested Class Summary
static class ProfileInfo.MeasurementUnits
          Model of measurement units (everything but speed)
static class ProfileInfo.SpeedUnits
          Model of speed units
 
Field Summary
protected  java.lang.Integer aiControlsDriver
           
protected  java.lang.String birthDate
           
protected  java.lang.Float driverHotswapDelay
           
protected  java.lang.String helmet
           
protected  java.lang.String location
           
protected  ProfileInfo.MeasurementUnits measurementUnits
           
protected  java.lang.String modName
           
protected  java.lang.Float multiRaceLength
           
protected  java.lang.String nationality
           
protected  java.lang.Integer numReconLaps
           
protected  java.lang.String raceCastEmail
           
protected  java.lang.String raceCastPassword
           
protected  java.lang.Boolean showCurrentLap
           
protected  ProfileInfo.SpeedUnits speedUnits
           
protected  java.lang.Integer startingDriver
           
protected  java.lang.String teamName
           
protected  java.lang.Integer uniqueID
           
protected  java.io.File vehFile
           
 
Constructor Summary
protected ProfileInfo()
          Create a new instance.
 
Method Summary
 java.lang.Integer getAIControlsDriver()
          Bitfield defining which drivers the AI controls (0=none, 1=driver1, 2=driver2, 3=driver1+driver2, etc.)
 java.lang.String getBirthDate()
          Gets the player's birth date.
 java.io.File getCCHFile()
          Gets the currently used CCH file.
protected abstract  java.io.File getCCHFileImpl(java.lang.String modName)
          Gets the currently used CCH file.
 java.lang.Float getDriverHotswapDelay()
          Delay in seconds between switching controls to AI or remote driver.
abstract  java.lang.Boolean getFormationLap()
          Drive formation lap?
 java.lang.String getHelmet()
          Gets the player's helmet.
protected abstract  java.io.File getLastUsedSceneFile()
          Gets the last used scene file.
 java.lang.String getLocation()
          Gets the player's location.
 ProfileInfo.MeasurementUnits getMeasurementUnits()
          Gets the selected measurement units.
 java.lang.String getNationality()
          Gets the player's nationality.
 java.lang.Integer getNumReconLaps()
          Gets the number of configureed recon laps.
abstract  java.io.File getPLRFile()
          Gets the used PLR file.
abstract  java.io.File getProfileFolder()
          Gets the folder, where rFactor stores profiles.
 java.lang.String getRaceCastEmail()
          Gets the email you are registered with on racecast.rfactor.net
 java.lang.String getRaceCastPassword()
          Gets your password on racecast.rfactor.net
 java.lang.Float getRaceLengthMultiplier()
          Gets the current race length fraction.
 java.lang.Boolean getShowCurrentLap()
          Gets whether the current lap is to be displayed or the number of laps completed.
 ProfileInfo.SpeedUnits getSpeedUnits()
          Gets the selected speed units.
 java.lang.Integer getStartingDriver()
          Zero-based index of starting driver (0=driver1, 1=driver2, 2=driver3, etc.)
 java.lang.String getTeamName()
          Gets the currently used team's name.
 java.lang.Integer getUniqueID()
          Helps to uniquely identify in multiplayer (along with name) if leaving and coming back
 long getUpdateId()
          This is incremented every time the info is updated.
 java.io.File getVehicleFile()
          Gets the currently used vehicle file.
abstract  boolean isValid()
          Gets whether this information in this instance is valid for the current session.
protected  void reset()
           
 boolean update()
          Updates the information from the game.
protected abstract  boolean updateImpl()
          Updates the information from the game.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

raceCastEmail

protected java.lang.String raceCastEmail

raceCastPassword

protected java.lang.String raceCastPassword

vehFile

protected java.io.File vehFile

teamName

protected java.lang.String teamName

nationality

protected java.lang.String nationality

birthDate

protected java.lang.String birthDate

location

protected java.lang.String location

modName

protected java.lang.String modName

helmet

protected java.lang.String helmet

uniqueID

protected java.lang.Integer uniqueID

startingDriver

protected java.lang.Integer startingDriver

aiControlsDriver

protected java.lang.Integer aiControlsDriver

driverHotswapDelay

protected java.lang.Float driverHotswapDelay

multiRaceLength

protected java.lang.Float multiRaceLength

showCurrentLap

protected java.lang.Boolean showCurrentLap

numReconLaps

protected java.lang.Integer numReconLaps

measurementUnits

protected ProfileInfo.MeasurementUnits measurementUnits

speedUnits

protected ProfileInfo.SpeedUnits speedUnits
Constructor Detail

ProfileInfo

protected ProfileInfo()
Create a new instance.

Method Detail

isValid

public abstract boolean isValid()
Gets whether this information in this instance is valid for the current session. This is false until rFactor is so kind to store the file.

Returns:
whether this information in this instance is valid for the current session.

reset

protected void reset()

updateImpl

protected abstract boolean updateImpl()
Updates the information from the game.

Returns:
whether anything has been updated.

update

public final boolean update()
Updates the information from the game.

Returns:
whether anything has been updated.

getUpdateId

public final long getUpdateId()
This is incremented every time the info is updated.

Returns:
the current update id.

getProfileFolder

public abstract java.io.File getProfileFolder()
Gets the folder, where rFactor stores profiles.

Returns:
the folder, where rFactor stores profiles.

getPLRFile

public abstract java.io.File getPLRFile()
Gets the used PLR file.

Returns:
the used PLR file.

getRaceCastEmail

public final java.lang.String getRaceCastEmail()
Gets the email you are registered with on racecast.rfactor.net

Returns:
the email you are registered with on racecast.rfactor.net

getRaceCastPassword

public final java.lang.String getRaceCastPassword()
Gets your password on racecast.rfactor.net

Returns:
Your password on racecast.rfactor.net

getVehicleFile

public final java.io.File getVehicleFile()
Gets the currently used vehicle file.

Returns:
the currently used vehicle file.

getTeamName

public final java.lang.String getTeamName()
Gets the currently used team's name.

Returns:
the currently used team's name.

getNationality

public final java.lang.String getNationality()
Gets the player's nationality.

Returns:
the player's nationality.

getBirthDate

public final java.lang.String getBirthDate()
Gets the player's birth date. Should be in the format "YYYY-MM-DD".

Returns:
the player's birth date.

getLocation

public final java.lang.String getLocation()
Gets the player's location.

Returns:
the player's location.

getHelmet

public final java.lang.String getHelmet()
Gets the player's helmet.

Returns:
the player's helmet.

getUniqueID

public final java.lang.Integer getUniqueID()
Helps to uniquely identify in multiplayer (along with name) if leaving and coming back

Returns:
the player's unique ID.

getStartingDriver

public final java.lang.Integer getStartingDriver()
Zero-based index of starting driver (0=driver1, 1=driver2, 2=driver3, etc.)

Returns:
the starting driver.

getAIControlsDriver

public final java.lang.Integer getAIControlsDriver()
Bitfield defining which drivers the AI controls (0=none, 1=driver1, 2=driver2, 3=driver1+driver2, etc.)

Returns:
the "AI Control Driver" setting.

getDriverHotswapDelay

public final java.lang.Float getDriverHotswapDelay()
Delay in seconds between switching controls to AI or remote driver.

Returns:
the driver hotswap delay in seconds.

getLastUsedSceneFile

protected abstract java.io.File getLastUsedSceneFile()
Gets the last used scene file.

Returns:
the last used scene file.

getRaceLengthMultiplier

public final java.lang.Float getRaceLengthMultiplier()
Gets the current race length fraction.

Returns:
the current race length fraction.

getShowCurrentLap

public final java.lang.Boolean getShowCurrentLap()
Gets whether the current lap is to be displayed or the number of laps completed.

Returns:
whether the current lap is to be displayed or the number of laps completed

getNumReconLaps

public final java.lang.Integer getNumReconLaps()
Gets the number of configureed recon laps.

Returns:
the number of configureed recon laps.

getFormationLap

public abstract java.lang.Boolean getFormationLap()
Drive formation lap?

Returns:
drive formation lap?

getMeasurementUnits

public final ProfileInfo.MeasurementUnits getMeasurementUnits()
Gets the selected measurement units. (Applies to everything but speed.)

Returns:
the selected measurement units.
See Also:
getSpeedUnits()

getSpeedUnits

public final ProfileInfo.SpeedUnits getSpeedUnits()
Gets the selected speed units.

Returns:
the selected speed units.
See Also:
getMeasurementUnits()

getCCHFileImpl

protected abstract java.io.File getCCHFileImpl(java.lang.String modName)
Gets the currently used CCH file.

Parameters:
modName -
Returns:
the currently used CCH file.

getCCHFile

public final java.io.File getCCHFile()
Gets the currently used CCH file.

Returns:
the currently used CCH file.