/// <summary>
/// Setup the engine.
///
/// This loads the game constants from the given constants file and initializes the user options.
///
/// NOTE: This does NOT actually load the user options. That happens after calling Begin.
/// </summary>
/// <param name="setupFileName"></param>
/// <param name="setupAction"></param>
public static void Setup(string constantsFileName, Action setupAction)
{
GameConstants.ReadFromFile(constantsFileName);
ConvertUnits.SetDisplayUnitToSimUnitRatio(GameConstants.PixelsPerSimUnit);
AddOptions();
setupAction();
SetupCalled = true;
}