Completed
Push — master ( f991c2...b8dc7c )
by Andres
38s
created

angular.service(ꞌupgradeꞌ)   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 3
c 2
b 0
f 0
nc 3
dl 0
loc 9
rs 9.6666
nop 5
1
'use strict';
2
3
angular
4
  .module('game')
5
  .service('upgrade', ['data',
6
    function(data) {
7
      this.buyUpgrade = function (player, upgrades, name, price, currency) {
8
        if (upgrades[name]) {
9
          return;
10
        }
11
        if (player.resources[currency].number >= price) {
12
          player.resources[currency].number -= price;
13
          upgrades[name] = true;
14
        }
15
      };
16
17
      this.resetElement = function(player, element) {
18
        let resources = player.resources;
19
        for (let resource of data.elements[element].includes) {
20
          resources[resource].number = 0;
21
        }
22
23
        let upgrades = player.elements[element].upgrades;
24
        for (let upgrade in upgrades) {
25
          upgrades[upgrade] = false;
26
        }
27
28
        let generators = player.elements[element].generators;
29
        for (let generator in generators) {
30
          generators[generator] = 0;
31
        }
32
33
        let syntheses = data.elements[element].syntheses;
34
        for (let synthesis of syntheses) {
35
          player.syntheses[synthesis].active = 0;
36
        }
37
        delete generators['0'];
38
        let first = Object.keys(generators)[0];
39
40
        player.elements[element].generators[first] = 1;
41
      };
42
    }
43
  ]);
44