mirror of
https://github.com/wassname/cardsforscience.git
synced 2026-08-12 11:50:08 +08:00
Most things working. Apart from achivements somehow. Also achievements pop up has to be reintroduced. Probalby write an AchievementsManager or something.
This commit is contained in:
@@ -2,24 +2,19 @@
|
||||
(function() {
|
||||
var game = new Game.Game();
|
||||
game.load();
|
||||
var lab, research, workers, upgrades;
|
||||
|
||||
$.when(game.load).then(function() {
|
||||
lab = game.lab;
|
||||
research = game.research;
|
||||
workers = game.workers;
|
||||
upgrades = game.upgrades;
|
||||
});
|
||||
var lab = game.lab;
|
||||
var research = game.research;
|
||||
var workers = game.workers;
|
||||
var upgrades = game.upgrades;
|
||||
var achievements = game.achievements;
|
||||
|
||||
UI.validateVersion(lab.version);
|
||||
|
||||
achievements.addResearch(research);
|
||||
achievements.addWorkers(workers);
|
||||
|
||||
var app = angular.module('particleClicker', []);
|
||||
|
||||
app.filter('niceNumber', ['$filter', function($filter) {
|
||||
return Helpers.formatNumberPostfix;
|
||||
return Helpers.formatNumberPostfix;
|
||||
}]);
|
||||
|
||||
app.filter('currency', ['$filter', function($filter) {
|
||||
@@ -36,11 +31,9 @@
|
||||
|
||||
app.controller('DetectorController', function() {
|
||||
this.click = function() {
|
||||
lab.acquire(lab.detector.rate);
|
||||
lab.acquireData(lab.state.detector);
|
||||
detector.addEvent();
|
||||
achievements.update('count', 'clicks', 1);
|
||||
achievements.update('count', 'data', lab.detector.rate);
|
||||
UI.showUpdateValue("#update-data", lab.detector.rate);
|
||||
UI.showUpdateValue("#update-data", lab.state.detector);
|
||||
return false;
|
||||
};
|
||||
});
|
||||
@@ -55,35 +48,34 @@
|
||||
};
|
||||
$interval(function() { // one tick
|
||||
var grant = lab.getGrant();
|
||||
achievements.update('count', 'money', grant);
|
||||
UI.showUpdateValue("#update-funding", grant);
|
||||
var sum = 0;
|
||||
for (var i = 0; i < workers.length; i++) {
|
||||
sum += workers[i].hired * workers[i].rate;
|
||||
sum += workers[i].state.hired * workers[i].state.rate;
|
||||
}
|
||||
if (sum > 0) {
|
||||
lab.acquireData(sum);
|
||||
UI.showUpdateValue("#update-data", sum);
|
||||
detector.addEventExternal(workers.map(function(w) {
|
||||
return w.state.hired;
|
||||
}).reduce(function(a, b){return a + b}, 0));
|
||||
}
|
||||
lab.acquire(sum);
|
||||
achievements.update('count', 'data', sum);
|
||||
UI.showUpdateValue("#update-data", sum);
|
||||
detector.addEventExternal();
|
||||
}, 1000);
|
||||
}]);
|
||||
|
||||
app.controller('ResearchController', ['$compile', function($compile) {
|
||||
this.research = research;
|
||||
this.isVisible = function(item) {
|
||||
return item.isVisible(lab);
|
||||
};
|
||||
this.isAvailable = function(item) {
|
||||
return item.isAvailable(lab);
|
||||
};
|
||||
this.doResearch = function(item) {
|
||||
var cost = item.research();
|
||||
var cost = item.research(lab);
|
||||
if (cost > 0) {
|
||||
achievements.update('count', 'reputation', item.reputation);
|
||||
achievements.update('count', 'dataSpent', cost);
|
||||
achievements.update('research', item.name, 1);
|
||||
UI.showUpdateValue("#update-data", -cost);
|
||||
UI.showUpdateValue("#update-reputation", item.reputation);
|
||||
analytics.sendEvent(
|
||||
analytics.events.categoryResearch,
|
||||
analytics.events.actionResearch,
|
||||
item.name,
|
||||
item.level
|
||||
);
|
||||
}
|
||||
};
|
||||
this.showInfo = function(r) {
|
||||
@@ -94,12 +86,15 @@
|
||||
|
||||
app.controller('HRController', function() {
|
||||
this.workers = workers;
|
||||
this.isVisible = function(worker) {
|
||||
return worker.isVisible(lab);
|
||||
};
|
||||
this.isAvailable = function(worker) {
|
||||
return worker.isAvailable(lab);
|
||||
};
|
||||
this.hire = function(worker) {
|
||||
var cost = worker.hire();
|
||||
var cost = worker.hire(lab);
|
||||
if (cost > 0) {
|
||||
achievements.update('count', 'moneyWorkers', cost);
|
||||
achievements.update('workers', worker.name, 1);
|
||||
achievements.update('count', 'workers', 1);
|
||||
UI.showUpdateValue("#update-funding", -cost);
|
||||
}
|
||||
};
|
||||
@@ -107,29 +102,32 @@
|
||||
|
||||
app.controller('UpgradesController', function() {
|
||||
this.upgrades = upgrades;
|
||||
this.isVisible = function(upgrade) {
|
||||
return upgrade.isVisible(lab);
|
||||
};
|
||||
this.isAvailable = function(upgrade) {
|
||||
return upgrade.isAvailable(lab);
|
||||
};
|
||||
this.upgrade = function(upgrade) {
|
||||
if (upgrade.buy()) {
|
||||
achievements.update('count', 'moneyUpgrades', upgrade.cost);
|
||||
if (upgrade.buy(lab)) {
|
||||
UI.showUpdateValue("#update-funding", upgrade.cost);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
achievements.setList(Helpers.loadFile('json/achievements.json'));
|
||||
achievements.restore();
|
||||
|
||||
app.controller('AchievementsController', function() {
|
||||
this.achievements = achievements.listSummary;
|
||||
this.achievementsAll = achievements.list;
|
||||
app.controller('AchievementsController', function($scope) {
|
||||
$scope.achievements = achievements;
|
||||
$scope.progress = function() {
|
||||
return achievements.filter(function(a) { a.isAchieved(); }).length;
|
||||
};
|
||||
});
|
||||
|
||||
app.controller('SaveController',
|
||||
['$scope', '$interval', function($scope, $interval) {
|
||||
$scope.lastSaved = new Date();
|
||||
$scope.saveNow = function() {
|
||||
GameObjects.saveAll();
|
||||
game.save();
|
||||
$scope.lastSaved = new Date();
|
||||
achievements.lastSave = $scope.lastSaved.getTime();
|
||||
};
|
||||
$scope.restart = function() {
|
||||
if (window.confirm(
|
||||
|
||||
Reference in New Issue
Block a user