'use strict';
/**
* This is a Dash Board App for Stock Cars with additional information for managing your race overlaid around the gauges.
*
* It uses the following widgets:
* {@link sra-analog-gauge-spek-fuel-level AnalogGauge/Spek/FuelLevel},
* {@link sra-analog-gauge-spek-fuel-pressure AnalogGauge/Spek/FuelPressure},
* {@link sra-analog-gauge-spek-oil-level AnalogGauge/Spek/OilLevel},
* {@link sra-analog-gauge-spek-oil-pressure AnalogGauge/Spek/OilPressure},
* {@link sra-analog-gauge-spek-oil-temp AnalogGauge/Spek/OilTemp},
* {@link sra-analog-gauge-spek-tachometer AnalogGauge/Spek/Tachometer},
* {@link sra-analog-gauge-spek-voltage AnalogGauge/Spek/Voltage},
* {@link sra-analog-gauge-spek-water-level AnalogGauge/Spek/WaterLevel},
* {@link sra-analog-gauge-spek-water-pressure AnalogGauge/Spek/WaterPressure},
* {@link sra-analog-gauge-spek-water-temp AnalogGauge/Spek/WaterTemp},
* {@link sra-analog-gauge-spek-brake-pressure AnalogGauge/Spek/BrakePressure},
* {@link sra-car-number CarNumber},
* {@link sra-flags Flags},
* {@link sra-timing-delta TimingDelta},
* {@link sra-pit-road PitRoad},
* {@link sra-car-controls CarControls},
* {@link sra-driver-info DriverInfo},
* {@link sra-team-speak-talking TeamSpeakTalking}
* {@link sra-wind-gauge WindGauge}
*
* <img src="../apps/Dash-StockCars-DigitalOverlay/icon.png" />
*
* @ngdoc apps
* @name Dash-StockCars-DigitalOverlay
* @param {boolean} LAPSTOAVERAGE The number of laps to average for the fuel mileage commands. Defaults to zero(0) or worst lap.
* @param {boolean} ALTLAPSTOAVERAGE The alternate number of laps to average for the fuel mileage commands. Used when saving fuel. Defaults to 2 laps.
* @param {boolean} showFPS When any value is seen in the URL for this attribute, the Frames Per Second(FPS) will be shown. Defaults to not show.
* @author Jeffrey Gilliam
* @since 1.0
* @copyright Copyright (C) 2015 - 2024 Jeffrey Gilliam
* @license Apache License 2.0
*/
require(SIMRacingAppsRequireConfig,
['angular','SIMRacingApps','css!default'
,'widgets/AnalogGauge/Spek/Tachometer/Tachometer'
,'widgets/AnalogGauge/Spek/WaterTemp/WaterTemp'
,'widgets/AnalogGauge/Spek/WaterPressure/WaterPressure'
,'widgets/AnalogGauge/Spek/WaterLevel/WaterLevel'
,'widgets/AnalogGauge/Spek/FuelPressure/FuelPressure'
,'widgets/AnalogGauge/Spek/FuelLevel/FuelLevel'
,'widgets/AnalogGauge/Spek/Voltage/Voltage'
,'widgets/AnalogGauge/Spek/OilTemp/OilTemp'
,'widgets/AnalogGauge/Spek/OilPressure/OilPressure'
,'widgets/AnalogGauge/Spek/OilLevel/OilLevel'
,'widgets/AnalogGauge/Spek/BrakePressure/BrakePressure'
,'widgets/CarNumber/CarNumber'
,'widgets/Flags/Flags'
,'widgets/TimingDelta/TimingDelta'
,'widgets/PitRoad/PitRoad'
,'widgets/CarControls/CarControls'
,'widgets/DriverInfo/DriverInfo'
,'widgets/DataTable/DataTable'
,'widgets/TeamSpeakTalking/TeamSpeakTalking'
,'widgets/WindGauge/WindGauge'
],
function( angular, SIMRacingApps) {
angular.element(document).ready(function() {
//create any angular filters, values, constants, directives here on the SIMRacingApps.module
//your application controller is added as a controller on the SIMRacingApps module
SIMRacingApps.module.controller("SIMRacingApps-Controller",
['$scope','sraDispatcher',
function($scope, sraDispatcher) {
$scope.sraArgsLAPSTOAVERAGE = $scope.sraArgsLAPSTOAVERAGE || "0";
$scope.sraArgsALTLAPSTOAVERAGE = $scope.sraArgsALTLAPSTOAVERAGE || "2";
//TODO: if you have any translations for your app, then uncomment the next 3 lines to load them.
//Place them in a folder called "nls" and name each file with the pattern "text-{locale}.json"
//{locale} should follow the same convention as the files in the ngLocale folder (i.e. ngLocale/angular-locale_{locale}.js).
//Always provide a default translation file named "nls/text-en.json".
//The format if these files are simply a json object that will get loaded into $scope.translations
//or any variable of your choosing.
sraDispatcher.loadTranslations("/SIMRacingApps/apps/Dash-StockCars-DigitalOverlay","text",function(path) {
$scope.translations = sraDispatcher.getTranslation(path,"auto");
});
}]);
//now start the process by passing in the element where the SIMRacingsApps class is defined.
//all elements below that will be owned by SIMRacingApps. This should allow you to put other
//content outside of this element that is not SIMRacingApps specific. All bundled apps will pass in the body.
SIMRacingApps.start(angular.element(document.body),1280,768,16);
//once angular is booted, your controller will get called.
//it is not recommended to have multiple controllers in SIMRacingApps because of how the $scope is transversed from child to parent.
//You can have as many directives and other angular objects as you wish.
});
});