Files
pf2015/js/level-selector-controller.js
2014-12-28 21:49:10 +00:00

74 lines
2.1 KiB
JavaScript

angular.module('level-selector', ['LocalStorageModule'])
.controller('LevelSelectorController', function($scope, $rootScope, localStorageService) {
$scope.isLevelSelectorVisible = true;
$scope.levelLock = [
{state:'unlocked', text:'1'},
{state:'locked', text:'2'},
{state:'locked', text:'3'},
{state:'locked', text:'4'},
{state:'locked', text:'5'},
{state:'locked', text:'6'},
{state:'locked', text:'7'},
{state:'locked', text:'8'},
{state:'locked', text:'9'},
{state:'locked', text:'10'},
{state:'locked', text:'11'},
{state:'locked', text:'12'},
{state:'locked', text:'PF'}
];
$scope.startLevel = function(levelIndex) {
$scope.isLevelSelectorVisible = false;
var args = {
levelIndex: levelIndex
};
$rootScope.$emit('startLevel', args);
};
$scope.completeLevel = function(even, args) {
var levelIndex = args.levelIndex;
if (levelIndex + 1 < $scope.levelLock.length) {
$scope.levelLock[levelIndex + 1].state = 'unlocked';
$scope.storeConfiguration();
}
};
$scope.cancelLevel = function(even, args) {
$scope.isLevelSelectorVisible = true;
};
$scope.storeConfiguration = function() {
if (!localStorageService.isSupported) {
return;
}
localStorageService.add('levelLock',$scope.levelLock);
};
$scope.loadConfiguration = function() {
if (!localStorageService.isSupported) {
return;
}
var value = localStorageService.get('levelLock');
// store defaults
if (!value) {
$scope.storeConfiguration();
} else {
$scope.levelLock = value;
}
};
var init = function() {
$scope.loadConfiguration();
};
$rootScope.$on('completeLevel', $scope.completeLevel);
$rootScope.$on('cancelLevel', $scope.cancelLevel);
init();
});